C# / VB で文字列をバイト単位で操作するためのメソッド (MidB, LenB など) をまとめたクラスです。半角文字を長さ 1 バイト、全角文字を長さ 2 バイトとして扱います。
拡張メソッドとして実装しているので、コードの可読性が上がります。メソッド チェーンとしてコードを記述することができます。
あらかじめ、using
ディレクティブでこの拡張メソッドを使用できるようにする必要があります。
using StringExtension;
メソッドの呼び出しは以下のようにします。
string text = "半角1バイト/全角2バイト";
Console.WriteLine($"text のバイト数は {text.LenB()}"); // 出力: "text のバイト数は 23"
Console.WriteLine(text.MidB(3, 7)); // 出力: "1バイト"
Console.WriteLine(text.LeftB(5)); // 出力: "半角1"
Console.WriteLine(text.RightB(11)); // 出力: "全角2バイト"
メソッド チェーンを用いた場合。
Console.WriteLine(text.MidB(3, 7).LenB().ToString()); // 出力: "7"
あらかじめ、Imports
ステートメントでこの拡張メソッドを使用できるようにする必要があります。
Imports StringExtension
メソッドの呼び出しは以下のようにします。
Dim text As String = "半角1バイト/全角2バイト"
Console.WriteLine($"text のバイト数は {text.LenB()}") ' 出力: "text のバイト数は 23"
Console.WriteLine(text.MidB(3, 7)) ' 出力: "1バイト"
Console.WriteLine(text.LeftB(5)) ' 出力: "半角1"
Console.WriteLine(text.RightB(11)) ' 出力: "全角2バイト"
メソッド チェーンを用いた場合。
Console.WriteLine(text.MidB(3, 7).LenB().ToString()) ' 出力: "7"
- .NET Frawework 3.5 ~
- .NET Standard 1.3 ~
- ダウンロード ページから最新版のソース コードをダウンロードします。
- 以下のどちらかの手順で使用するプロジェクトに追加します。
- ソース コードから
StringExtension.cs
またはStringExtension.vb
を取り出し、使用するプロジェクトに追加します。 - ソース コードをコンパイルして、生成された
StringExtension.dll
とStringExtension.xml
を使用するプロジェクトの参照に追加します。
projects
フォルダ- 対象フレームワークごとに分けたプロジェクト ファイルを格納したフォルダです。
StringExtension.sln
: C# で実装したソリューション。StringExtensionVB.sln
: VB で実装したソリューション。ただし、テスト コードは C# のもの。
src
フォルダ- メインとなるソース コードを格納したフォルダです。各プロジェクトからリンク参照しています。
test
フォルダ- NUnit によるテスト コードを格納したフォルダです。各プロジェクトからリンク参照しています。
MIT ライセンスで公開しています。
- C#3.0 でコンパイル エラーにならないように修正。
- nameof 演算子を文字列リテラルに変更。
- 式形式によるメソッド実装を通常の実装に変更。
- VB2008 (9.0) でコンパイル エラーにならないように修正。
- NameOf 演算子から文字列リテラルに変更。
- 名前空間に Global を使わない記述に変更。
- ByVal キーワードを付与 (なくても問題ない)。
- VB での実装を追加。
- .NET Frawework 3.5 に対応。
- PadLeftB, PadRightB, FixLeftB, FixRightB メソッドを実装。
- LeftB, RightB メソッドを実装。
- LenB, MidB メソッドを実装。