孝信2005/02/18「ふりがな」として入力された文字列の正規化(表記の揺れの統一)などで、文字列内のひらがなをカタカナに、あるいはその逆の変換を行いたい場合がある。このような用途のために、VB.NETではStrConv関数(Microsoft.VisualBasic名前空間)が用意されている。この関数はC#からも利用可能だ。本稿ではStrConv関数を使ったひらがな/カタカナの変換についてまとめる。StrConv関数は文字列の全角/半角変換でも利用できる。これについては「TIPS:文字列を全角/半角に変換するには?(VB.NET関数活用)」で解説している。StrConv関数の用法に関する基本的な解説はそちらの方が詳しいので併せて参考にしていただきたい。VB.NETにおけるひらがな/カタカナの変換VB.NETでひらがなをカタカナに変換するには、第1パラメータに変換する文字列、第2パラメータに「VbStrConv.Katakana」を指定してStrConv関数を呼び出す。VbStrConv.KatakanaはVbStrConv列挙体(Microsoft.VisualBasic名前空間)で定義されている値である。逆に、カタカナをひらがなに変換するには、第2パラメータに「VbStrConv.Hiragana」を指定すればよい。戻り値:かたかなの文字いずれの場合も、変換できない文字については戻り値となる文字列にそのまま残される。以下に、StrConv関数を使用したVB.NETのサンプル・プログラムを示す。ひらがな/カタカナの変換を行うVB.NETのサンプル・プログラム(vbhirakana.vb)vbhirakana.vbのダウンロードサンプル・プログラムの出力例からも分かるように、半角のカタカナについてはひらがなに変換されない。VbStrConv.Wide」と指定することにより1回の関数呼び出しで処理可能となる。「TIPS:文字列を全角/半角に変換するには?(VB.NET関数活用)」でも述べているように、C#では、StrConv関数はStringsクラス(Microsoft.VisualBasic名前空間)の静的メソッドであるStrConvメソッドとして利用可能だ(VB.NET関数の具体的な利用方法については「TIPS:VB.NET固有の関数をC#で使用するには?」を参照)。以下に先ほどのVB.NETのサンプル・プログラムと同等のC#のプログラムを示す。VB.NETのStrConv関数を使用してひらがな/カタカナの変換を行うC#のサンプル・プログラム(vbhirakana.cs)vbhirakana.csのダウンロード実際には、ここで解説したようなひらがな/カタカナの変換処理の前に、文字列の全角/半角チェック、ひらがな/カタカナのチェックなどが必要になると思われるが、これらについては「TIPS:文字列の全角/半角をチェックするには?」や「TIPS:文字列のひらがな/カタカナをチェックするには?」で解説している。StrConv関数は、全角/半角変換、ひらがな/カタカナ変換以外にも、アルファベットの大文字/小文字変換が可能である。これは、わざわざStrConv関数を使用しなくとも、Stringクラス(System名前空間)のToUpperメソッド/ToLowerメソッドで処理可能だ。これについては「TIPS:アルファベットを大文字/小文字に変換するには?」で解説している。APIのLCMapString関数を呼び出しているようである。より自動抽出したものです。7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。TranslatorはPowerPoint用のアドイン。