Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法强制转换类型为';System.DBNull';输入';System.String';_C#_String_Datatable_Datarow - Fatal编程技术网

C# 无法强制转换类型为';System.DBNull';输入';System.String';

C# 无法强制转换类型为';System.DBNull';输入';System.String';,c#,string,datatable,datarow,C#,String,Datatable,Datarow,我有一个数据代码来生成一个字符串,它是sb.ToString() 您可以看到有“NULL”导致错误“无法将类型为“System.DBNull”的对象强制转换为类型为“System.String”。 如何修复它?更改循环: foreach(var obj in row.ItemArray) { if(obj is string) sb.Append(obj as string); } 试试这个: foreach (object str in row.ItemArray) {

我有一个数据代码来生成一个字符串,它是sb.ToString()

您可以看到有“NULL”导致错误“无法将类型为“System.DBNull”的对象强制转换为类型为“System.String”。 如何修复它?

更改循环:

foreach(var obj in row.ItemArray)
{
    if(obj is string) sb.Append(obj as string);
}
试试这个:

foreach (object str in row.ItemArray) 
{ 
    if (DbNull.Value.Equals(str))
       sb.Append("NULL");
    else
       sb.Append(str.ToString()); 
} 

但是听起来像是obj可能是DbNull,而不是null,不是吗?
foreach(var obj in row.ItemArray)
{
    if(obj is string) sb.Append(obj as string);
}
foreach (object str in row.ItemArray) 
{ 
    if (DbNull.Value.Equals(str))
       sb.Append("NULL");
    else
       sb.Append(str.ToString()); 
} 
            if(!row.IsNull("column"))
            {
                foreach (string str in row.ItemArray)
                {
                    sb.Append(str);
                }                
            }