gpt4 book ai didi

c# - 有没有更好的方法来做这个 : Convert. IsDBNull(row[somecolumn]) 检查

转载 作者:太空狗 更新时间:2023-10-29 19:49:23 33 4
gpt4 key购买 nike

有没有更好的方法来编写这段代码..

MyObject pymt = new MyObject();
pymt.xcol1id= Convert.IsDBNull(row["col1id"]) ? 0 : (int)row["col1id"];
pymt.xcold2id= Convert.IsDBNull(row["col2id"]) ? String.Empty : (string)row["col2id"];
pymt.xcold3id = Convert.IsDBNull(row["CustNum"]) ? 0 : (decimal)row["xcold3id"];

这能以更简洁的方式完成吗……比如通用方法等?

最佳答案

你可以像这样制作通用的扩展方法:

public static class DataRowExtensions {

public static T GetValueOrDefault<T>(this DataRow row, string key) {
return row.GetValueOrDefault(key, default(T));
}

public static T GetValueOrDefault<T>(this DataRow row, string key, T defaultValue) {
if (row.IsNull(key)) {
return defaultValue;
} else {
return (T)row[key];
}
}

}

用法:

MyObject pymt = new MyObject();
pymt.xcol1id = row.GetValueOrDefault<int>("col1id");
pymt.xcold2id = row.GetValueOrDefault<string>("col2id", String.Empty);
pymt.xcold3id = row.GetValueOrDefault<int>("CustNum"]);

关于c# - 有没有更好的方法来做这个 : Convert. IsDBNull(row[somecolumn]) 检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1324606/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com