我想过滤不包含xxx,yyy,zzz等的结果。我尝试使用Array过滤掉我不想要的,但是它没有像往常一样过滤和返回行。
string[] ExcludeCourses = new string[] {"Functional Skills", "Key Skills"};
gvProgrammes.DataSource = offerings.Where(o => o.OfferingStatusID == 1
&& o.OfferingTypeID != 3
&& !ExcludeCourses.Contains(o.CourseName));
最后,我为每个条目编写了如下所示的内容。有更好的方法吗?
offerings.Where(o => o.OfferingStatusID == 1
&& o.OfferingTypeID != 3
&& !o.CourseName.Contains("Functional Skills")
&& !o.CourseName.Contains("Key Skills")
&& !o.CourseName.Contains("Employer Rights and Responsibilities"));
以下是我要排除的CourseName示例:
发布于 2012-11-21 11:25:46
您的第一个Contains
是Enumerable.Contains
:“此字符串序列包含此字符串”
您的第二个Contains
是String.Contains
:“此字符串包含另一个字符串作为子字符串”。
以下是“此字符串序列包含此字符串作为子字符串包含的字符串”:
string[] ExcludeCourses = new string[] {
"Functional Skills",
"Key Skills",
"Employer Rights and Responsibilities" };
gvProgrammes.DataSource = offerings.Where(o => o.OfferingStatusID == 1
&& o.OfferingTypeID != 3
&& !ExcludeCourses.Any(ec => o.CourseName.Contains(ec)));
Any
调用基本上与重复的手动String.Contains
调用相同。
https://stackoverflow.com/questions/13491718
复制相似问题