2016-12-03 10 views
1

В латышской культуре lv-LV есть специальные символы, такие как 'ā', 'ī', 'ģ' и т. Д. Есть ли какой-либо встроенный способ, где следующий код возвращает true?C# Культура Конкретные символы

var nameLv = "Jevģeņijs"; 

var nameEng = "Jevgenijs"; 

nameLv.Equals(nameEng, StringComparison.InvariantCultureIgnoreCase); 
+1

Вы ищете конкретно решение, которое использует 'StringComparison', или вы открыты для чего-либо? Если последнее, то [этот ответ] (http://stackoverflow.com/a/2086575/301857) может помочь. –

+0

Yeap, это сработает, спасибо! –

ответ

1

Вот решение, которое применяет this answer к вашему коду.

public static void Main() 
{ 
    var nameLv = "Jevģeņijs"; 
    var nameEng = "Jevgenijs"; 

    var result = IsEquivalent(nameLv, nameEng); // returns True 
} 

public static bool IsEquivalent(string latvian, string english) 
{ 
    return english == 
     Encoding.UTF8.GetString(Encoding.GetEncoding("ISO-8859-8").GetBytes(latvian)); 
} 

Я не могу сказать, является ли это самый надежный метод или будет работать с учетом каких-либо конкретных строк, но tested with your input, кажется, работает хорошо.

В этой же теме есть quite a few other solutions, которые вы также можете проверить.

 Смежные вопросы

  • Нет связанных вопросов^_^