C# の拡張メソッドは作って貯めておくと便利です

C# 3.0 から可能になった拡張メソッド (extension method) の仕組みによって、インスタンスメソッドと同じ構文で追加したメソッドが呼び出せるのはとても便利です。

日々のプログラミングの中で、少しでもプログラムの記述量を減らすことができる拡張メソッドを作成しておくと、作業の効率も上がります。

今回はそんな拡張メソッドをいくつか挙げておきます。

「拡張メソッドって何?」という方は以下の記事が参考になります。

拡張メソッドの作り方 (実装方法) C#
String クラスにバイト数が返してくれるメソッドが欲しい! DateTime 構造体に日付が含まれる月の最終日 (末日) を返して...

文字列の拡張メソッド

文字列の拡張メソッドは StringExtensions クラスを作成し、その中に作成します。

StringExtensions メソッドの一覧

メソッド名 説明
Contains カルチャに依存した比較、または大文字と小文字を区別しない比較などの序数による比較を指定できる Contains。
Contains 部分一致・前方一致・後方一致するかどうかを判定します。
Format Format の簡易版。 (string.Format(format, arg0) が format.Format(arg0) で呼び出せます。)
Format Format の簡易版。 (string.Format(format, args) が format.Format(args) で呼び出せます。)
IsDate 文字列が日付かどうかを判定します。
IsDateTime 文字列が日時かどうかを判定します。
IsNullOrEmpty IsNullOrEmpty の簡易版 。(string.IsNullOrEmpty(value) が value.IsNullOrEmpty() で呼び出せます。)
IsNullOrEmpty 置換文字列を指定できる形式の IsNullOrEmpty。
IsNullOrWhiteSpace IsNullOrWhiteSpace の簡易版。 (string.IsNullOrWhiteSpace(value) が value.IsNullOrWhiteSpace() で呼び出せます。)
IsNullOrWhiteSpace 置換文字列を指定できる形式の IsNullOrWhiteSpace。
IsNumeric 文字列が数値かどうかを判定します。
IsTime 文字列が時刻かどうかを判定します。
Left 文字列の左から指定した桁数の文字列を取得します。
LengthB 文字列のバイト数を取得します。
Remove 文字列から指定した文字列 (複数指定可能) を削除します。
Replicate 文字列を指定回数繰り返した文字列を取得します。
Right 文字列の右から指定した桁数の文字列を取得します。
YyyyMmDdToDate yyyyMMdd 形式の文字列を日付型に変換します。

Contains メソッド

Format メソッド

IsDate メソッド

IsDateTime メソッド

IsNullOrEmpty メソッド

IsNullOrWhiteSpace メソッド

IsNumeric メソッド

IsTime メソッド

Left メソッド

LengthB メソッド

Remove メソッド

Replicate メソッド

Right メソッド

YyyyMmDdToDate メソッド

その他の文字列の拡張メソッドについては以下を参照してください。

文字列の拡張メソッド String Extensions
今まで貯めてきた文字列の拡張メソッドをこのページにまとめておきます。 拡張メソッドについては以下の記事を参照してください。 ...

日時の拡張メソッド

日時の拡張メソッドは DateTimeExtensions クラスを作成し、その中に作成します。

DateTimeExtensions メソッドの一覧

メソッド名 説明
Age 生年月日に対する現在の年齢を取得します。
EndOfMonth 日付を含む月の最後の日 (末日) を返します。

Age メソッド

EndOfMonth メソッド

その他の文字列の拡張メソッドについては以下を参照してください。

日付と時間の拡張メソッド DateTime Extensions
日付と時刻の拡張メソッドがある程度貯まってきたのでこのページにまとめておこうと思います。 特定の日付の判定処理が多いですが、カレンダー関連...

10 進数の拡張メソッド

10 進数の拡張メソッドは DecimalExtensions クラスを作成し、その中に作成します。

DecimalExtensions メソッドの一覧

メソッド名 説明
Ceiling 小数以下を切り上げた最小の整数を取得します。
Floor 小数以下を切り捨てた最大の整数を取得します。
Round 小数以下を最も近い整数に丸めます。

Ceiling メソッド

Floor メソッド

Round メソッド

その他の10 進数の拡張メソッドについては以下を参照してください。

10 進数の拡張メソッド Decimal Extensions
10 進数の拡張メソッドをになります。 拡張メソッドがわからない方は、以下の記事を参考にしてください。 10 進数の拡張...

倍精度浮動小数点数の拡張メソッド

倍精度浮動小数点数の拡張メソッドは DoubleExtensions クラスを作成し、その中に作成します。

DoubleExtensions メソッドの一覧

メソッド名 説明
Abs 絶対値を取得します。
Exp 累乗した値を取得します。
Pow 指定した値で累乗した値を取得します。

Abs メソッド

Exp メソッド

Pow メソッド

その他の倍精度浮動小数点数の拡張メソッドについては以下を参照してください。

倍精度浮動小数点数の拡張メソッド Double Extensions
倍精度浮動小数点数 Double の拡張メソッドの一覧です。 Double の 拡張メソッドは Double 構造体、Math クラス、T...

ジェネリック (指定した型) の拡張メソッド

ジェネリック (指定した型) の拡張メソッドは GenericExtensions クラスを作成し、その中に作成します。

GenericExtensions メソッドの一覧

メソッド名 説明
Between 値が範囲内にあるかどうかを判定します。
IsNull Null かどうかを検証します。

Between メソッド

IsNull メソッド

コレクションの拡張メソッド

コレクションの拡張メソッドは CollectionExtensions クラスを作成し、その中に作成します。

CollectionExtensions メソッドの一覧

メソッド名 説明
AddIf 指定した処理条件を満たす場合に項目を追加します。
RemoveIf 指定した処理条件を満たす場合に項目を削除します。

AddIf メソッド

RemoveIf メソッド

その他のコレクションの拡張メソッドについては以下を参照してください。

コレクションの拡張メソッド Collection Extensions
このページでは、コレクションを操作するための拡張メソッドについてまとめていきます。 コレクションに対する拡張メソッドの主な処理は、要素の追...

コレクション反復列挙子の拡張メソッド

コレクション反復列挙子の拡張メソッドは EnumerableExtensions クラスを作成し、その中に作成します。

EnumerableExtensions メソッドの一覧

メソッド名 説明
ForEach コレクションに対する反復処理を行います。
ToCsv Csv 形式の文字列に変換します。

ForEach メソッド

ToCsv メソッド

拡張メソッドの使用例

ここでは、String の拡張メソッドに作成した Replicate メソッドと、Right メソッドを使用した例を記載します。

拡張メソッドは今後も随時追加していく予定です。