私はこの簡単なユーティリティ関数を書きました:
public static T isNull<T>(T? v, T d)
{
return v == null ? d : v.Value;
}
目的は、linq レコードセットの読み取りで非常に一般的な、メンバーが null であることを確認するような面倒なタスクを回避することです。問題は、このエラーがスローされていることです。
型 'T' は、ジェネリック型またはメソッド 'System.Nullable< T>' でパラメーター 'T' として使用するために、null 非許容値型である必要があります。
エラーは正当なようですが、とにかく、次のようなことができればいいのにと思います:
int? myField = record.myField;
int myValue = isNull(myField, 0);
それ以外の:
int? myField = record.myField;
int myValue = myField == null ? 0 : myField.Value;
C# の基本的な知識が不足しているように感じます。私の仕事を達成する方法はありますか?