在Linq查询中使用自定义扩展方法

时间:2010-10-06 19:06:02

标签: c# linq

我已经制作了自定义的In扩展方法,如下所示:

 public static class ExtensionMethods
    {
        public static bool In(this string str, IEnumerable<String> list)
        {
            foreach (var s in list)
            {
                if (s.Equals(str)) return true; 
            }

            return false; 
        }
    }

现在我喜欢将它与我的LINQ查询一起使用。我该怎么办?如何使用它?

2 个答案:

答案 0 :(得分:4)

我认为你的方法与Enumerable.Contains非常相似。也许你可以改用它。

如果你真的想使用你的方法,那么它在LINQ to Objects查询中可以正常工作,但是在数据库查询中不可能使用它。

答案 1 :(得分:0)

你应该可以说

if (stringName.In(listVariableName)){....}

除非ExtensionMethods类位于不同的名称空间。