簡體   English   中英

如何在不使用循環的情況下從數據表中過濾空行?

[英]How do i filter empty rows from a datatable without using a loop?

我有數據表可能包含大量行的場景。 結果,我無法使用循環迭代和更新數據表。

我試過下面的代碼,

          from row in table.AsEnumerable()
          where table.Columns.Any(col => !row.IsNull(col))
          select row;

但我找不到Any()的定義。 我應該使用任何命名空間來獲取 Any() 嗎?

任何人請告訴我如何糾正此問題或建議任何替代解決方案..

除了必須使用System.Linq命名空間之外,您還需要使其了解元素類型。 DataTable.Columns不是通用集合(它僅實現IEnumerable而不是IEnumerable<T> ),編譯器無法推斷類型。 你需要做這樣的事情:

from row in table.AsEnumerable()
where table.Columns.Cast<DataColumn>.Any(col => !row.IsNull(col))
select row;

Any()方法位於System.Linq命名空間中。 該方法存在於Queryable class

如果框架版本大於 2,則使用system.linq命名空間

您應該包括以下內容:

using System.Linq;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM