C# 获取数据行字段或默认值的函数
我有一个旧代码,它定义了以下实用程序函数C# 获取数据行字段或默认值的函数,c#,extension-methods,datarow,C#,Extension Methods,Datarow,我有一个旧代码,它定义了以下实用程序函数 string kod_custno_billto = DbUtil.RowStringValue(row, "kod_custno_billto", ""); 其中行为DataRow类型,如果NULL在数据库中,则第三个参数为所需的默认值。它是这样实现的: static public string RowStringValue(DataRow row, string column_name, string default_value) { st
string kod_custno_billto = DbUtil.RowStringValue(row, "kod_custno_billto", "");
其中行
为DataRow
类型,如果NULL
在数据库中,则第三个参数为所需的默认值。它是这样实现的:
static public string RowStringValue(DataRow row, string column_name, string default_value)
{
string result = default_value;
if (row.Table.Columns.Contains(column_name) && !Convert.IsDBNull(row[column_name]))
result = Convert.ToString(row[column_name]);
return result;
}
我正在考虑使用现有的DataRowExtensions.Field
,如下所示:
string kod_custno_billto = row.Field<string>("kod_custno_billto");
string kod_custno_billto=行字段(“kod_custno_billto”);
大量替换旧代码所缺少的功能是默认值,而不是返回的
null
。你将如何实现这一点?@dymanoid是的,我正在考虑。但是我的C语言不是很流利。我将能够从该函数创建扩展函数。但是,基于所需的输出类型,有一组这样的函数。为此,我需要模板扩展。此外,这种情况可能已经实现或很简单(我只是看不出明显的情况)。可能是行字段(“kod_custno_billto”)??我的违约代码>是想要的解决方案吗?行字段(“kod_custno_billto”)??我的违约代码>空合并就可以了,除非您的问题中没有涉及到其他情况。