Hallo, ich möchte einen Wert mit 3 weiteren Werten vergleichen. Zur Zeit sieht das so bei mir aus:
if (Array[i] == Wert1 || Array[i] == Wert2 || Array[i] == Wert3)
Geht das ganze nicht einfacher, weil zur Zeit muss er ja jedesmal das nullte Element aus dem Array holen. Ich dachte es gibt vielleicht so etwas in der Art:
if (Array[i] == Wert1 || Wert2 || Wert3)
Aber das geht nicht. 🙁
Hallo Froggie,
mach dir doch eine statische Klasse mit folgender methodes
public static bool ValueEquals(object value, params object[] comparsion) {
foreach(object compare in comparsion)
if(value.Equals(compare))
return true;
return false;
}
Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de
Hallo Froggie,
mach dir doch eine statische Klasse mit folgender methodes
...
Um eine Variation erweitert und mit LINQ Ausdrücken:
public static bool ValueEquals(object value, params object[] comparsion) {
return comparsion.All(o=> value.Equals(o));
}
public static bool ValueEqualsAny(object value, params object[] comparsion) {
return comparsion.Any(o=> value.Equals(o));
}
Lg XXX
Das hab ich dann davon dass wir hier in der Firma noch kein Linq einsetzen 😛
Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de
C#-Code: public static bool ValueEquals(object value, params object[] comparsion) { return comparsion.All(o=> value.Equals(o)); } public static bool ValueEqualsAny(object value, params object[] comparsion) { return comparsion.Any(o=> value.Equals(o)); }
Ich hatte mal ein ähnliches Problem und hab es wie Extension 2, nur mit Contains(value) statt dem Weg über Any gelöst.
Für die 1. Extension fehlt mir allerdings noch ein parktisches Beispiel. Ich denke mit dem Standard-Vergleich macht das so keinen Sinn.