У меня проблема с переводом моей функции, когда я пытаюсь выбрать данные из таблицы. Итак, теперь у меня есть около 130000 строк со «словами», и они написаны на моем русском языке:
привет, пока, москва.
Но мне нужно перевести эти слова на английский и найти их в базе данных с их английской транскрипцией:
привет = привет, пока = пока, москва = москва.
Я просто делаю Заменить ('п' -> 'p', 'т' -> 't').
Но когда я пытаюсь выполнить метод расширения для свойства таблицы LINQ, у меня возникает исключение, и я знаю это. Итак, как я могу использовать функцию для свойства в
.Where(t=> FunctionReplaceName(t.Name)
)?
Thx.
public static string Translate(this string stringToTranslate)
{
string[] kirArray = { "А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я", ",", ".", " ", "(", ")" };
string[] latArray = { "A", "B", "V", "G", "D", "E", "JO", "ZH", "Z", "I", "IJ", "K", "L", "M", "N", "O", "P", "R", "S", "T", "U", "F", "H", "TZ", "CH", "SH", "SH", "", "JY", "", "JE", "JU", "JA", "", "", "-", "", "" };
stringToTranslate = stringToTranslate.ToUpper();
for (int i = 0; i < kirArray.Length; i++)
if (stringToTranslate.IndexOf(kirArray[i]) != -1)
stringToTranslate = stringToTranslate.Replace(kirArray[i], latArray[i]);
return stringToTranslate.ToLower();
}