Linq toSQLでstring1>=string2を実行するにはどうすればよいですか?
15547 次
4 に答える
29
=>
通常は次のように記述されるものを探している場合は>=
、文字列を使用してこれを直接行うことはできません。CompareToを介して同じ動作を得ることができます:
string1.CompareTo(string2) >= 0
この場合、結果がゼロ以下であることは、string1
前にソートされるstring2
ため、より大きくなることを意味します。
参考までに=>
、C#の演算子は、ラムダ式の定義でのみ使用されます。
于 2009-02-16T14:19:52.143 に答える
8
string1> = string2は、C#LinqToSqlではサポートされていません。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
ここで何をしようとしているのか正確にはわかりませんが、文字列はLinqtoSQLクエリに直接変換されます。
あなたが試みていることの例を挙げていただけますか?
基本的な使用例は次のとおりです。
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 に答える