C#中如何判断Dataset是否为空?2022年除Row.Count外的其他方法
判断Dataset是否为空的替代方法(适配2022+环境)
以下是几种实用且适配现代.NET环境的判断方式,可替代单纯的Row.Count:
检查Dataset是否包含有效DataTable
先判断Dataset本身是否无表,再结合所有表的行数做判断,覆盖"无表"和"有表但无数据"两种空场景:bool isEmpty = dataset.Tables.Count == 0 || dataset.Tables.Cast<DataTable>().All(t => t.Rows.Count == 0);使用DataTable的HasRows属性
针对Dataset中的特定表,HasRows是更直观的属性,无需手动计算行数,2022年环境完全兼容:// 安全判断(兼容目标表不存在的情况) bool targetTableEmpty = dataset.Tables["YourTableName"] == null || !dataset.Tables["YourTableName"].HasRows;LINQ简洁判断
利用LINQ快速遍历所有表,判断是否存在有数据的表,写法更简洁:bool isEmpty = !dataset.Tables.Cast<DataTable>().Any(t => t.HasRows);
注意事项
单纯用Row.Count容易忽略两种边界场景:一是Dataset中没有任何DataTable,二是存在表但表结构为空(无列)。上述方法能覆盖这些情况。
内容的提问来源于stack exchange,提问作者Happy Joji
相关产品推荐
相关产品推荐

