null可能な型を比較する必要がある状況があります。null可能な<T>拡張メソッドを作成するにはどうしますか?
int? foo=null;
int? bar=4;
これは動作しません:
if(foo>bar)
以下の作品は明らかではないNULL可能のため、我々は値型にそれを制限するよう:
public static bool IsLessThan<T>(this T leftValue, T rightValue) where T : struct, IComparable<T>
{
return leftValue.CompareTo(rightValue) == -1;
}
は、あなたが2つの値を持っていると仮定しますこれは機能しますが、一般的ではありません:
public static bool IsLessThan(this int? leftValue, int? rightValue)
{
return Nullable.Compare(leftValue, rightValue) == -1;
}
IsLessThan
の汎用バージョンを作成するにはどうすればよいですか?
どうもありがとう
ので、あなたがnull < 4 or null > 4をしたいですか? –