【发布时间】:2013-09-06 16:26:57
【问题描述】:
我正在尝试在 DataRow 数组中查找一组条件的匹配项。
string startDate = "1/1/2012";
string endDate = "11/1/2012";
DataRow[] scheduleResults = myDataTable.AsEnumerable()
.Where(r => r.Field<string>("Name").Contains("Eglin")
&& r.Field<string>("Name").Contains(startDate)
&& r.Field<string>("Name").Contains(endDate)).ToArray();
这会返回scheduleResults 中的两个 DataRows
-
USAF:Eglin (1/1/2012-11/1/2012) USAF:Eglin (11/1/2012-3/31/2017)
我可以看到startDate 实际上包含在endDate 中,这就是我得到这两个结果的原因。我的问题是,如何准确匹配整个 startDate,所以我不会返回第二个结果。
【问题讨论】:
-
您的数据表是否包含标题为“姓名”的单列,其中包含姓名、职务代码、开始日期和结束日期?
-
是的,不幸的是,我从中提取此信息的数据库刚刚设置了一个 ID 字段和一个“名称”字段,并且设置的约定是只包含相关的开始/结束日期等信息输入“名称”字段。绝对不理想,但这就是我现在必须要做的事情。