2

特定の理由でデータを DataTable に格納する必要があり、null 許容型をサポートしていないことに気付きました: System.NotSupportedException をスローします: DataSet は System.Nullable<> をサポートしていません。型の列挙とすべての null 許容型のカスタム コードを記述するよりも効果的な変換方法はありますか?

4

1 に答える 1

2

ただし、null 許容型をサポートしており、デフォルトでAllowDbNullは次のようになっています。true

var table = new DataTable();
table.Columns.Add("NullableInt", typeof(int));
table.Rows.Add(1);
table.Rows.Add(2);
table.Rows.Add(3);
table.Rows.Add((int?)null);

null 許容型をサポートするDataRow 拡張メソッドを使用します。次に例を示します。

foreach(DataRow row in table.Rows)
{
    int? value = row.Field<Int32?>("NullableInt");
    // modify the value with SetField:
    row.SetField<Int32?>("NullableInt", null); 
    // or: 
    row.SetField("NullableInt", (int?)null);
}
于 2013-09-10T13:38:26.380 に答える