Ответ 1
Используйте Regex и проверьте \p{IsCyrillic}
, например:
if (Regex.IsMatch(stringToCheck, @"\p{IsCyrillic}"))
{
// there is at least one cyrillic character in the string
}
Это верно для строки "abcабв", потому что она содержит по крайней мере один кириллический символ. Если вы хотите, чтобы он был ложным, если в строке нет символов кириллицы, используйте:
if (!Regex.IsMatch(stringToCheck, @"\P{IsCyrillic}"))
{
// there are only cyrillic characters in the string
}
Это было бы неверно для строки "abcабв", но верно для "абв".
Чтобы проверить, что содержит иксриллический блок или другие именованные блоки, посмотрите на http://msdn.microsoft.com/en-us/library/20bw873z.aspx#SupportedNamedBlocks