anyones weiß, wie man das macht?string1> = string2 nicht in Linq zu SQL, keine Workaround implementiert?
Edit: Ich versuche zu tun> =. Ich korrigiere den Titel.
anyones weiß, wie man das macht?string1> = string2 nicht in Linq zu SQL, keine Workaround implementiert?
Edit: Ich versuche zu tun> =. Ich korrigiere den Titel.
string1 = > string2 wird in C# LinqToSql nicht unterstützt oder nicht. Die String-Klasse überschreibt den Operator = > überhaupt nicht. Es überschreibt nur die Operatoren! = Und ==. Sie können dies überprüfen, indem Sie versuchen, die folgende Methode
public static void Example() {
int val = "foo" => "bar";
}
zu kompilieren Wenn Sie in LinqToSql zu Strings vergleichen wollen, sollten Sie in der Lage sein, die statische String.Compare(string,string) Methode zu verwenden.
Ich bin mir nicht genau sicher, was Sie hier versuchen, aber Zeichenfolgen übersetzen direkt in Linq zu SQL-Abfragen.
Können Sie ein Beispiel dafür geben, was Sie versuchen?
Hier ist ein einfaches Beispiel Nutzung:
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);
}
Ich bin nicht ganz sicher, was => als oder welche Sprache über Sie sprechen, aber ich kann nur raten Sie> = beziehen (größer als oder gleich). Sie können keinen Größer-oder-Gleich-Operator mit Strings verwenden, da es keine definitive Möglichkeit gibt, zu sagen, worüber Sie sprechen. Wenn sie tatsächlich Zahlen sind, möchten Sie vielleicht tun.
var query = from c in dc.Customers
where c.CustomerID >= Int32.Parse("32")
select c;
Wenn Sie nach =>
suchen, die normalerweise als >=
geschrieben werden würde, dann können Sie dies nicht direkt mit Streichern. Sie können das gleiche Verhalten über CompareTo erhalten:
string1.CompareTo(string2) >= 0
In diesem Fall ist das Ergebnis kleiner als oder gleich Null bedeutet, dass string1
vor string2
sortiert werden würde und daher größer.
FYI Der Operator =>
in C# wird nur in der Definition von Lambda-Ausdrücken verwendet.
=> ist nicht das gleiche wie> =, ich bin mir nicht sicher, ob er über einen Methodenzeiger wie in einem Delegaten oder einem tatsächlichen> = spricht. –
@Nick, es ist ein Tippfehler in meinem Beispiel. Der SO TextEditor Compiler ist schrecklich;) – JaredPar
Warum wurde das von> = auf => geändert? – Davy8