如何在 Linq to SQL 中执行 string1 >= string2?
Jedi Master Spooky
问问题
15547 次
4 回答
29
如果您正在寻找=>
通常写成的,>=
那么您不能直接使用字符串执行此操作。您可以通过CompareTo获得相同的行为:
string1.CompareTo(string2) >= 0
在这种情况下,结果小于或等于 0 意味着string1
将在之前排序string2
,因此更大。
仅供参考=>
,C# 中的运算符仅用于 lambda 表达式的定义。
于 2009-02-16T14:19:52.143 回答
8
C# Linq To Sql 不支持 string1 >= string2。String 类根本不覆盖 >= 运算符。它只覆盖 != 和 == 运算符。您可以通过尝试编译以下方法来验证这一点
public static void Example() {
int val = "foo" >= "bar";
}
如果您想与 LinqToSql 中的字符串进行比较,您应该能够使用静态String.Compare(string,string)方法。
于 2009-02-16T14:13:59.350 回答
-1
您不能对字符串使用大于或等于运算符,因为没有明确的方法来说明您在说什么。如果它们实际上是您可能想要做的数字。
var query = from c in dc.Customers
where c.CustomerID >= Int32.Parse("32")
select c;
于 2009-02-16T14:15:13.077 回答
-2
我不确定您要在这里做什么,但字符串直接转换为 Linq 到 SQL 查询。
你能举一个你正在尝试的例子吗?
这是一个基本的示例用法:
string string2 = "test";
using (MyDataContext dc = new MyDataContext())
{
// without lambdas
var query1 = from item in dc.Items
where item.Value == string2
select item;
// with lambdas
var query2 = dc.Items.Where(item=>item.string1 == string2);
}
于 2009-02-16T14:14:48.553 回答