10

Linq toSQLでstring1>=string2を実行するにはどうすればよいですか?

4

4 に答える 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 に答える