簡単な答えは、平仮名のユニコード値に(96)を加えて同等のカタカナ(マ)を得ることです。
キャラクターがひらがなであるかどうかは、ユニコード値が3040-309Fの範囲にあることを確認することで判断できます。
残念ながら、ノアは、漢字を使用して多くの名前を表記しています。約40,000文字のアルファベットで、それぞれがひらがなに相当し、周囲に多くの文脈があります。それらをサポートしたい場合は、日本語の図書館を探す必要があります。
FYIは、時には大文字を表すために使用されるため、ここでの使用方法について説明します。 (メトロの小文字の嗜好を考えると、カタカナはよりフィット感が良いと思ったでしょう)。
あなただけのひらがなをサポートしたい場合は、ここに助けるべきものです:
const int KatakanaStartCode = 0x30A0;
const int HiraganaStartCode = 0x3040;
const int HiraganaEndCode = 0x309F;
private char GetGroupChar(string name)
{
// Check for null/blank
// Check for numbers, etc
char firstChar = name[0];
int firstCharCode = (int)firstChar;
bool isHiragana = (HiraganaStartCode <= firstCharCode &&
firstCharCode <= HiraganaEndCode);
if (isHiragana)
{
char katakanaChar = (char)(firstCharCode +
(KatakanaStartCode - HiraganaStartCode));
return katakanaChar;
}
return Char.ToLowerInvariant(firstChar);
}
そしては:
string name = "またな たなかあ";
char s = GetGroupChar(name);
Debug.WriteLine(s); // マ
マ(MA)は、ま、の最初の文字と同じことを意味し名前が表示されます。違いは、グループ化文字はカタカナで、もう1つはひらがなであることです。どちらも日本語を書くのに使われる音節で、目的が異なる(カタカナは主に借用語に使用されます)がありますが、このようなグループ分けのために同じように扱いたいと思うでしょう。私はグループヘッダにひらがなの代わりにカタカナを使っている理由を言うことはできませんが、どちらの絵も間違っていません。 –
また、それは文字ではなく、母音の前にある "初期音"によってグループ化されています。これは、これらの音節の仕方によって、日本語で物事を整理する一般的な方法です。 –