вам нужно прочитать файл в памяти, возможно, и затем искать сбор/массив для го e значение введенного пользователя.
здесь очень простой пример:
List<KeyValuePair<string, string>> items = new List<KeyValuePair<string, string>>();
..
..
// some function called at startup to read the entire file in the collection
private void LoadData()
{
var reader = new StreamReader(File.OpenRead(@"C:\dictionary.csv"));
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(';');
var kvp = new KeyValuePair<string, string>(values[0], values[1]);
items.Add(kvp);
}
}
private string SearchWord(string inputWord)
{
string returnValue = string.Empty;
foreach(var currentItem in items)
{
if (string.Equals(inputWord, currentItem, StringComparison.OrdinalIgnoreCase))
{
returnValue = currentItem.Value;
break;
}
}
return returnValue;
}
Что он делает? Итак, мы держим глобальную коллекцию элементов в списке. Каждый элемент в списке содержит ключ и связанное с ним значение. ключ - это слово для перевода FROM, а значение - переведенное слово.
Когда приложение запускается, например, вы вызываете LoadData() для загрузки файла в коллекцию.
Когда пользователь нажимает кнопку, вы вызываете «SearchResult», передавая ему входное значение из текстового поля. Затем он будет выполнять итерацию по коллекции, чтобы найти входное значение, и если он найдет его, он вернет переведенное слово обратно вам, поэтому вы берете это значение и, например, устанавливаете его в другое текстовое поле.
еще раз, очень простой и простой.
Я не занимался Словарем, но это лучше, потому что я недостаточно хорошо знаю ваши требования. Но если вы уверены, что нет повторяющихся слов (ключей), вы должны использовать словарь вместо List> like, который я сделал.
Ухм, вы знаете, словарь для этого несколько лучше? Зачем нужен список KeyValuePair <> '? –
@ Moo-Juice - я объяснил, почему приятель :) –
Если есть повторяющиеся слова (дублирующиеся входные слова), у вас нет способа узнать, что правильно. Ваш код просто берет первый, но если есть дубликаты, то остальные все равно игнорируются. –