LINQ中的类条件

LINQ中的类条件,linq,sql-like,Linq,Sql Like,我对LINQ比较陌生,不知道如何处理类似的情况。我有一个myObject的IEnumerable列表,想做一些类似myObject.Description的事情,比如“Help%”。我怎样才能做到这一点?谢谢您可以使用,或者根据您要检查的位置: var result = from o in myCollection where o.Description.StartsWith("Help") select o; 您可以选择传递StringCo

我对LINQ比较陌生,不知道如何处理类似的情况。我有一个myObject的IEnumerable列表,想做一些类似myObject.Description的事情,比如“Help%”。我怎样才能做到这一点?谢谢

您可以使用,或者根据您要检查的位置:

var result = from o in myCollection
             where o.Description.StartsWith("Help")
             select o;
您可以选择传递StringComparison以指定是否忽略大小写(对于
StartsWith
EndsWith
),这将使操作更像SQL查询:

var result =
    from o in myCollection
    where o.Description
        .StartsWith("Help", StringComparison.InvariantCultureIgnoreCase))
    select o;
如果要执行不区分大小写的包含操作,则需要改用:


您通常使用与查询外部使用的语法完全相同的语法

myObject.Description.StartsWith("Help")
这是否真正起作用取决于您在哪里使用LINQ(它可以作为代码运行,在这种情况下一切都可以运行,或者转换为其他类似的东西,例如SQL,这可能有局限性),但是它总是值得一试。

请看这里:

片段:

StartsWith
包含

var query = from c in ctx.Customers
            where c.City.StartsWith("L") && c.City.Contains("n")
            select c;
如果您应该将其与LINQ to SQL一起使用(不与LINQ to对象一起使用):

自定义
LIKE
System.Data.Linq.SqlClient.SqlMethods.LIKE
):


您可以使用string.StartsWithstring.EndsWithstring.Contains字符串属性将其用作Like运算符
StartWith将适用于类似“A%”的应用程序
Endswith将在类似“%A”的情况下工作

Contains将像“%A%”一样工作

可能重复@All…。感谢您的评论和回答。非常有用和有用的……
StartsWith
和friends还允许您指定比较类型。
var query = from c in ctx.Customers
            where c.City.StartsWith("L") && c.City.Contains("n")
            select c;
var query = from c in ctx.Customers
            where SqlMethods.Like(c.City, "L_n%")
            select c;