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

C# 在Linq查询中使用自定义扩展方法,c#,linq,C#,Linq,我在扩展方法中进行了自定义,如下所示: 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;

我在扩展方法中进行了自定义,如下所示:

 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; 
        }
    }
公共静态类扩展方法
{
公共静态bool In(此字符串str,IEnumerable列表)
{
foreach(列表中的var s)
{
如果(s.Equals(str))返回true;
}
返回false;
}
}

现在我喜欢将它用于我的LINQ查询。我能做什么?如何使用它

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


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

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


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

您应该能够这样说

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

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

您应该能够说

if (stringName.In(listVariableName)){....}
除非类ExtensionMethods位于不同的命名空间上