ich dieses Problem habe, ich habe eine Tabelle für EinkäufeConvert String in einem Entity Framework Linq-Abfrage in int und die Parsing Ausnahmebehandlung
Purchases(Date DateTime, Number string)
ich will, ist ein neuer Rekord zu schaffen, so brauche ich der Max (Number), das Problem ist hier, dass Nummer ein String ist, ich habe versucht
Purchases.Select(X=>int.Parse(X.Number)).Max()
aber es könnte eine Ausnahme werfen, habe ich so eine benutzerdefinierten ToInt()
Erweiterung erstellen, wenn ich
Purchases.Select(X=>X.Number.ToInt()).Max()
es löst eine Ausnahme, dass mein ToInt() kann nicht mit Linq-Abfrage gleiche wie die berühmte ToString()
so meine Frage verwendet werden: Gibt es einen Weg, um eine Zeichenfolge zu werfen zu int in linq Abfrage & Behandlung von Ausnahmen zur gleichen Zeit oder um benutzerdefinierte Funktionen zu einer Linq-Abfrage zu integrieren!
und dies ist meine Erweiterung
public static int ToInt(this string s)
{
try
{
return int.Parse(s);
}
catch
{
}
return 0;
}
Gibt es einen Grund dafür, dass das Feld "Number" in Ihrer Tabelle als "String" deklariert ist? –
Können wir die von Ihnen erstellte Erweiterung sehen? –
Wie behandeln Sie, wenn eine Ausnahme ausgelöst wird? fährt fort zu summieren oder zu stoppen? –