[C#] 如何讓int有Null,問號? (2018.06.28 更新)
int? Money;
Money = row["Money"] == DBNull.Value ? (int?) null : (int)row["Money"];
這個式子的意思是用三元運算子寫成,
意思是說如果從資料庫抓出來的row["Money"]等於DBNull.Value時,
就把null轉成int?的型態丟給Money,否則row["Money"]轉成int型態丟給Money。
DBNull.Value 用來抓資料庫裡面的空值 (直接在C#用Null會抓不到)
int? 則可以讓int有Null (int?中的?代表System.Nullable<T>,可以讓int有Null)
- - -
最上面的程式碼意思為:
int? Money = isDataNull(row["Money"]);
private int? isDataNull (object obj)
{
if (obj == DBNull.Value)
{
return null;
}
else
{
return (int)obj;
}
}
留言
張貼留言