Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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/3/heroku/2.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# 如果数据表C中的特定单元格值包含零,则跳过整行#_C#_.net_Linq_C# 4.0_Datatable - Fatal编程技术网

C# 如果数据表C中的特定单元格值包含零,则跳过整行#

C# 如果数据表C中的特定单元格值包含零,则跳过整行#,c#,.net,linq,c#-4.0,datatable,C#,.net,Linq,C# 4.0,Datatable,我可以跳过datatable中的第一行,以便在使用下面的代码循环遍历datatable时不进一步处理 DataTable dt; foreach (DataRow r in dt.Rows.Cast<DataRow>().Skip(1)) { //do something... } DataTable dt; foreach(dt.Rows.Cast()中的数据行r.Skip(1)) { //做点什么。。。 } 但如果datatable中该行中的特定

我可以跳过datatable中的第一行,以便在使用下面的代码循环遍历datatable时不进一步处理

 DataTable dt;
 foreach (DataRow r in dt.Rows.Cast<DataRow>().Skip(1))
 {
           //do something...
 }
DataTable dt;
foreach(dt.Rows.Cast()中的数据行r.Skip(1))
{
//做点什么。。。
}
但如果datatable中该行中的特定单元格值为空,我需要跳过整行以避免进一步处理

我不知道该怎么做,谁能帮我一下吗。。 提前感谢foreach(dt.Rows.Cast()中的数据行r.Skip(1))
        foreach (DataRow r in dt.Rows.Cast<DataRow>().Skip(1))
        {
            if (r["ThisColumnHas0Value"].ToString() == "0")
            {
                Console.WriteLine("SKIP");
                continue;
            }
            Console.Write("PROCESS");
        }
{ 如果(r[“ThisColumnHas0Value”].ToString()=“0”) { 控制台写入线(“跳过”); 继续; } 控制台。写入(“进程”); }
使用
Where
过滤掉不需要的行,如

foreach (DataRow r in dt.Rows.Cast<DataRow>().Skip(1)
                             .Where(o => !string.IsNullOrEmpty(o["Column"].ToString())))
{
    ...
}
foreach(dt.Rows.Cast()中的数据行r.Skip(1)
.Where(o=>!string.IsNullOrEmpty(o[“Column”].ToString()))
{
...
}

如果您在从数据库查询数据时进行筛选,则更好,这样就不会加载这些行。

您知道要检查哪个单元格吗?每次都一样?是的,我们知道要检查哪个单元格,并且始终相同。您可以在
if
块中检查单元格的值,如果单元格的值为空,则使用
continue
。或者使用where Linq方法过滤掉单元格值为空的行