【发布时间】:2017-08-10 03:29:47
【问题描述】:
我有一个 DataTable,我想一次查询一列以检查它是否符合设置的条件,由于某种原因,下面的代码在结果不正确之后为第一列提供了正确的结果。
private bool BusinessRulesOne(DataTable dt, DataColumn dc)
{
bool isSatisfied = false;
DataRow[] checkColumn = dt.Select(dc.ColumnName + " " + "in (1,2,3,)");
if (checkColumn.Length != 0)
{
isSatisfied = true;
}
return isSatisfied;
}
在这个方法上,我传递了我正在查询的 DataTable 和我目前正在关注的 DataColumn。这里需要发生的是我想检查此列上的值是否由值 1,2 和 3 组成。如果是,则返回 true。
private bool BusinessRulesTwo(DataTable dt, DataColumn dc)
{
bool isSatisfied = false;
var checkColumn = dt.Select(dc.ColumnName + " " + " = 1");
if (checkColumn.Count() > 3)
{
isSatisfied = true;
}
return isSatisfied;
}
在另一条规则中,我正在检查该列中一个 (1) 的数量是否超过三 (3),如果是,则返回 true。
欢迎提出任何建议,我不了解 Linq,但如果它能让生活更轻松,我愿意学习和探索它。
【问题讨论】:
-
列名是否都可以在没有转义序列的情况下使用? (没有空格,没有特殊字符,...)。你能举一个小例子来说明什么样的数据组合会给你正确/不正确的结果?这些值真的是数字类型而不仅仅是包含数字字符的字符串吗?
标签: c# .net linq datatable datacolumn