【C#】拡張メソッド まとめ

拡張メソッドは、非常に便利です。
既存のクラスへのメソッドを追加して、インスタンスメソッドのように呼び出しができます。

元々クラスに存在したメソッドのように使えるので、それまで複数ステップを使って書いていたソースをまとめたり、バラつきのあったコーディングをまとめたりできます。

【C#】拡張メソッド まとめ

拡張メソッドを用途ごとに、まとめました。

foreach

foreach null listのチェック

foreachは、nullチェックをしないと’System.NullReferenceException’の例外が発生します。

if文で、if (list != null && list.Count > 0)と書かなければいけないようなケースをOrEmptyIfNull()の拡張メソッドで解決します。

list = nullの場合は、Enumerable.Empty<T>()list.Count = 0の状態にして返すことで、’System.NullReferenceException’の例外発生を回避できます。

関連記事

foreachは、nullチェックをしないと ’System.NullReferenceException’の例外が発生するんですよね・・・。 そこで、拡張メソッドを使って簡単回避する方法をご紹介します。 […]

C# foreach null list【C# 拡張メソッド】 foreach null listのチェック

foreach index付き

foreachは、indexを使わない事で、’System.ArgumentOutOfRangeException’の例外発生をしないようにしているのに、インデックス付きで使いたいことが時々あります。

でもint i = 0;と、変数を宣言してカウントアップするのもレガシーコードのようでなんだが嫌ですよね。Indexed()の拡張メソッドで解決します。

タプルにして返すことで、listの要素foreachで回しながら、indexが取得できます。

関連記事

foreachで、インデックス付きで使いたいことが時々あるんですよね。 でも使おうと思うと忘れていたり、書いてみるとけっこう面倒だったり・・・・。 そこで、拡張メソッドを使って簡単解決する方法をご紹介します。 […]

C# foreach index【C# 拡張メソッド】 foreach index付き

list

Listのnull・空チェック

if文で、if (list != null && list.Count > 0)と書かなければいけないようなケースをIsNullOrEmpty()の拡張メソッドで解決します。

list != nullか、list.Count > 0のどちらかしか書いてないようなこともなくなり、コードのバラつきも減ります。

関連記事

メソッドの戻り値がListで結果によってnullだったり、空だったりする場合、 その判定のソースコードってけっこう長かったりします・・・・。 そこで、拡張メソッドを使って簡単解決する方法をご紹介します。 […]

C# list 空【C# 拡張メソッド】 Listのnull・空チェック

キャスト

nullをToString()

nullToString()すると落ちます。
でもXxx != null ? Xxx.ToString() : null;と毎回判定をするというのも大変です。ToStringOrDefault()ToStringOrEmpty()の拡張メソッドで解決します。

関連記事

nullをToString()すると見事に落ちます。 とはいえ、イチイチチェックするのは面倒ですよね。 そこで、拡張メソッドを使って簡単回避する方法をご紹介します。 【C# 拡張メソッド】nullをTo[…]

toString C# 【C# 拡張メソッド】nullをToString()

DeepCopy

ディープコピー

参照型のクラスは、そのままではコピー先の変更がコピー元に影響してしまいます。
参照型のクラスをコピー元と切り離して、別オブジェクトでコピーする方法です。

関連記事

こんにちは!トミセンです。 オブジェクトを複製する場合に必要なDeepCopyですが、 「C#でDeepCopyどうやるの?」 「C#って、Javaと書き方が違うの?」 分かっ[…]

deepcopy C# DeepCopyする方法

まとめ

拡張メソッドは、非常に便利です。事前に用意しておくだけで、コーディングの効率が格段に変わります。

活用して、快適なコーディングを!

それでは、また。

\ 転職を本気で考えるなら /

  • 3つの有名スクールを現役エンジニアの視点で厳選!
  • あなたに合ったおすすめのスクールを紹介!

TECH CAMP エンジニア転職」…最短10週間で転職ができる年齢無制限のスクール!

TechAcademy Pro」…オンラインで全て完結のコスパ最強スクール!

DMM WEBCAMP」…給付金の対象講座もある実力派スクール!