C#で全角文字と半角文字の変換と、ひらがなとカタカナの変換方法について紹介します。
C#には全角と半角、ひらがなとカタカナを変換するクラス、メソッドは用意されていませんのでVisual Basicのアセンブリを使用して変換します。
目次 [非表示]
Visual Basicのアセンブリを参照する
C#で全角と半角、ひらがなとカタカナの変換を行うために、Visual Basicのアセンブリを参照します。
ソリューション エクスプローラーでアセンブリを追加するプロジェクトのツリーノードを展開します。
展開すると表示されるツリーノードの「参照」を右クリックします。
コンテキストメニューが表示されるので「参照の追加」をクリックします。
「参照マネージャー」ダイアログが表示されますので、左ペインの「アセンブリ」を選択(クリック)し、表示されるアセンブリの一覧から「Microsoft.VisualBasic」を選択(クリック)し「OK」ボタンをクリックします。
アセンブリが参照されると「参照」ノード内に「Microsoft.VisualBasic」が追加されます。
StringsクラスのStrConv静的メソッドで変換
全角と半角の変換、ひらがなとカタカナの変換にはMicrosoft.VisualBasic名前空間にあるStringsクラスのStrConv静的メソッドを使用します。
StrConv静的メソッドには第1引数に変換する文字列を指定し、第2引数に変換方法(変換する形式)を指定します。
変換方法にはMicrosoft.VisualBasic名前空間にあるVbStrConv列挙型のメンバー定数値を指定します。
半角を全角に、全角を半角に変換する
半角を全角に変換するには、VbStrConv列挙型のWideを指定します。
全角を半角に変換するには、VbStrConv列挙型のNarrowを指定します。
カタカナをひらがなに、ひらがなをカタカナに変換する
カタカナをひらがなに変換するには、VbStrConv列挙型のHiraganaを指定します。
ひらがなをカタカナに変換するには、VbStrConv列挙型のKatakanaを指定します。
VbStrConv列挙型のメンバー定数一覧
VbStrConv列挙型のメンバー定数一覧をまとめて掲載しておきます。
名前 | 値 | 説明 |
---|---|---|
None | 0 | 変換は行われません。 |
Uppercase | 1 | 文字列内の小文字を大文字に変換します。 |
Lowercase | 2 | 文字列内の大文字を小文字に変換します。 |
ProperCase | 3 | 文字列内の各単語の最初の文字を大文字に変換します。 |
Wide | 4 | 文字列内の半角文字(横幅の狭い)を、全角文字(横幅の広い文字)に変換します。 アジアのロケールに適用されます。 |
Narrow | 8 | 文字列内の全角文字(横幅の広い文字)を、半角文字(横幅の狭い文字)に変換します。 アジアのロケールに適用されます。 |
Katakana | 16 | 文字列内のひらがな文字をカタカナ文字に変換します。 日本語ロケールのみに適用されます。 |
Hiragana | 32 | 文字列内のカタカナ文字をひらがな文字に変換します。 日本語ロケールのみに適用されます。 |
SimplifiedChinese | 256 | 文字列を簡体中国語に変換します。 |
TraditionalChinese | 512 | 文字列を繁体字中国語に変換します。 |
LinguisticCasing | 1024 | 大文字/小文字についてファイル システム規則に従った文字列を、言語規則に従った文字列に変換します。 |
VbStrConv列挙型のメンバー定数には全角と半角、ひらがなとカタカナ以外の定数も用意されているので、StringsクラスのStrConv静的メソッドを使用して全角と半角、ひらがなとカタカナの他に、大文字と小文字の変換などもできます。
サンプルプログラム
サンプルとしてWindowsフォームアプリケーションを作成して、ひらがなとカタカナの変換、および全角と半角を変換するプログラムを作成します。
ユーザーインターフェース
以下のようなフォームを作成します。
フォームには
- 変換前のテキストボックス
- 変換方法を選択するコンボボックス
(ドロップダウンリストボックス) - 変換を実行するボタン
- 変換後のテキストボックス
を配置します。
ソースコード
プロジェクトの実行
プロジェクトを実行します。
「変換前」のテキストボックスに変換するテキストを入力します。
「変換方法」のコンボボックスで「Wide」を選択してボタンをクリックします。
半角文字列が全角文字列に変換されました。
「変換前」のテキストボックスに変換するテキストを入力します。
「変換方法」のコンボボックスで「Narrow」を選択してボタンをクリックします。
「変換前」のテキストボックスに変換するテキストを入力します。
「変換方法」のコンボボックスで「Hiragana」を選択してボタンをクリックします。
「変換前」のテキストボックスに変換するテキストを入力します。
「変換方法」のコンボボックスで「Katakana」を選択してボタンをクリックします。