Linq表达式来过滤formcollection

时间:2009-11-06 16:40:56

标签: c# asp.net linq

我有一个FormCollection,我只想迭代不包含字符串定价的键。

所以我试过的就是这个...

foreach (var key in collection.AllKeys.Where(k => !k.Contains("Pricing"))){ ... }

问题是返回不是一个过滤的列表,它返回的布尔值...其中需要过滤的字符串列表......

AllKeys返回一个字符串[]所以在某种意义上我只是想在这里过滤一个字符串[] ...

我在这里缺少的......

非常感谢!

2 个答案:

答案 0 :(得分:10)

这是答案......

foreach (var key in collection.AllKeys.Where(k => !k.Contains("Pricing")).ToArray<string>()){ ... }

答案 1 :(得分:-1)

您确定使用的是Where而不是Select吗?

使用Where会返回IEnumerable<string>,这正是您所期望的。

使用Select会返回IEnumerable<bool>,这就是您所说的实际情况。