string s;
s = textEdit1.text;
//Чтобы было проще переводим в нижний регистр:
s = s.ToLower();
//Переводим в код (с кодировкой Default):
byte[] b = System.Text.Encoding.Default.GetBytes(s);
//Проверяем так:
int angl_count = 0, russ_count = 0;
foreach( byte bt in b )
{
if ( (bt >= 97) && (bt <= 122) ) angl_count ++;
if ( (bt >= 192) && (bt <= 239) ) rus_count ++;
}
if (angl_count > rus_count) return Language.English;
if (angl_count < rus_count) return Language.Russian;
return Language.Unknown;
Проверка идет путем вычисления каких символов в строке больше,English или Russian. Для определения какой символ(English или Russian) смотрим диапазоны кодов ASCII (например 97-122 для маленьких английских).
if ( (bt >= 97) && (bt <= 122) ) angl_count ++; if ( (bt >= 192) && (bt <= 239) ) rus_count ++;
Способ №2:
string str = "Привет abc!";
int engCount = 0;
int rusCount = 0;
foreach (char c in str)
{
if ( (c > 'а' && c<'я') || (c>'А' && c < 'Я') )
rusCount++;
else if ( (c > 'a' && c<'z') || (c>'A' && c < 'Z') )
engCount++;
}
0.00 (0%) 0 votes










