08/03/21 18:09:09
もうとっくに結論でてますが・・・
昔と違って、アルファベットの概念が広がっているね
int 山 = 5 ;
とか、コンパイル通るし、UTF8 で便利になった反面混乱も多々あり。
URLリンク(ja.wikipedia.org)
あえてライブラリを使うなら、基本ラテン文字 (ASCII互換)、かつアルファベットを調べるとなると
Char.IsLetter('あ') && 'あ' <= 0x7f
アホ臭いから、直接文字コードを調べるのが良さそうな気がしますね。そしてせっかくの新機能があるので拡張してみた。
static public class CharExt {
public static bool IsBasicLatin( this char c) { return c <= 0x7f; }
}
class MyClass {
void func() {
bool isBasicLatin = 'A'.IsBasicLatin(); // (笑
System.Console.WriteLine(isBasicLatin);
}
}