.NET 4.0 以降で ひらがな から カタカナ 変換 、半角から全角 の変換方法を調べたところ Microsoft.VisualStudio.StringsクラスのStrConv メソッドを使用して実現可能っぽいので使い方の覚書を記載。

- その他の方法
Visual Studio International Feature Pack 2.0 に含まれる KanaConverter クラスを使用すれば 同様のことができるみたいですが、.NET 4.0で使えませんでした。設定方法が間違っているだけかもしれませんが。

検証環境

  • Windows 7 64bit 上で作成
  • .NET 4.5
  • コンソールプログラム

1. サンプルプログラム

コンソールプログラム用のプロジェクトを作成します。 参照の追加で Microsoft.VisualBasic.dll を追加し、既定で作成される Program.cs を次のように編集します。Strings.StrConv メソッドを使用して変換をしています。

    using Microsoft.VisualBasic;
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Strings.StrConv("もとはひらがな", VbStrConv.Katakana));
            Console.WriteLine(Strings.StrConv("モトハゼンカクカナ", VbStrConv.Narrow));
            Console.WriteLine(Strings.StrConv("モトハハンカクカナ", VbStrConv.Wide));
            Console.WriteLine(Strings.StrConv("モトハゼンカクカナ", VbStrConv.Hiragana));
            Console.WriteLine(Strings.StrConv("ABCDE", VbStrConv.Wide));

            Console.ReadLine();
        }
    }

変換方法は VbStrConv で指定しています。詳細はVbStrConv列挙対を参照してください。

2. 実行結果

プログラムを実行すると次のようになります。平仮名からカタカナに変換したり、半角(1バイト)アルファベットが全角(2バイト)のアルファベットに変換されていることが確認できます。

3.まとめ

説明は以上です。

半角全角変換などは頑張れば自力でできるのですが、StrConvクラスを使用してお手軽に実現できるみたいで助かります。いろいろ日本語回りで調べていますが International Feature Pack が .NET 4.0 に正式に対応してくれれば楽になるということですね。