C# 7.0 パターンマッチングで楽々nullチェック

公開日:2019-01-17
最終更新:2019-01-17
※この記事は外部サイト(https://qiita.com/AziO/items/f9e034dddac2a...)からのクロス投稿です

概要

C# 7.0にて導入されたパターンマッチング
本来はアップキャストされたオブジェクトを安全にダウンキャストして分岐を可能にするものだが実はnullチェックにも使える

// 本体の使い方  
object obj = "objectなstring";  
if (obj is string str)  
{  
//このスコープ中のみobjがstringにキャストされたstr変数を使うことができる。  
//キャストできなかった場合はif内部を通らない  
}

nullチェックにも活用可能

C#ではnullは型無しとしているためその仕様を逆手に取った方法

従来の方法

var obj = GetNullOrString(); //半々の確率でnullか実体のあるstringを返してくれるメソッド  
if (obj != null)  
{  
//nullではない場合if内部を通る  
}

パターンマッチング

if (GetNullOrString() is string str)  
{  
//null時には型無し = string型では無いためif内部を通らない  
//但しスコープはif文限りのため外からはstr変数を使えないことに注意  
}
記事が少しでもいいなと思ったらクラップを送ってみよう!
18
+1
UE4とかUnityとかC#とか

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする