Einfache Möglichkeit zum vergleichen von Werten von mehr als 3 Variablen?
Möchte ich überprüfen, ob diese Variablen haben gleiche Werte.
BEISPIEL:
int a = 5;
int b = 5;
int c = 5;
int d = 5;
int e = 5;
. . .
int k = 5;
if(a==b && b==c && c==d && d==e && .... && j==k)
{
//this is Complex way and not well understandable.
}
Jede einfache Weise zu Vergleichen, alle sind gleich?
WIE im Beispiel unten
if(a==b==c==d==e.....j==k)
{
//Understandable but not work
}
Wenn (a + b + c .... + k != 55) ... 🙂
Oh noes! a = 55, b = 0, ..., k = 0 🙂
5 ist nur ein Beispiel, es können 2 oder 3 oder ein anderer Wert richtet sich nach dem Benutzer.
🙁 Witz nicht...
So sind diese nicht in jeder Art von Sammlung (z.B.: Liste oder array); nur Tonnen von einfachen Variablen?
Oh noes! a = 55, b = 0, ..., k = 0 🙂
5 ist nur ein Beispiel, es können 2 oder 3 oder ein anderer Wert richtet sich nach dem Benutzer.
🙁 Witz nicht...
So sind diese nicht in jeder Art von Sammlung (z.B.: Liste oder array); nur Tonnen von einfachen Variablen?
InformationsquelleAutor Javed Akram | 2011-03-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
wie wäre es mit etwas wie dieses:
InformationsquelleAutor mellamokb
Mit so vielen Variablen, würde es Sinn machen, verschieben Sie Sie in ein array?
Könnte man dann testen, um zu sehen, wenn Sie alle gleich sind mithilfe von Linq-Ausdrücke wie
myarray.Distinct().Count() == 1;
oder vielleichtmyarray.All(r => r == 5);
InformationsquelleAutor dthorpe
Könnten Sie eine var-args-Methode zu tun:
Dann rufen Sie es mit all Ihren Ganzzahlen als Parameter:
Ja wahrscheinlich, ich fast nie verwenden C#.
Leicht rep Punkte sind eine verlockende Häppchen, eh?
Das zweite ist off-by-1 Fehler und es ist nichts zu tun mit c# 🙂
LOL, das ist wahr. Ich eigentlich Methoden erstellen, wie dies schon ein bisschen, vor allem für convenience-Methoden im test-Fällen. Aber es ist immer in Java oder Groovy, also ich bin nicht diese verrückte .NET-syntax.
InformationsquelleAutor Kaleb Brasee
Nur ein Gedanke, aber wenn man die Standardabweichung berechnen der gesamten Liste, und es ist gleich null, Sie hätte Ihre Antwort.
Hier eine Antwort auf der Website, dass diese Adressen, die helfen können, mit, dass: Standardabweichung der generischen Liste?
Interessantes problem. Viel Glück mit ihm.
InformationsquelleAutor nycdan
Ich bin damit einverstanden, dass der einfachste Weg ist, um Sie alle in eine Liste und verwenden Sie dann die folgenden zu vergleichen. Dies ist im wesentlichen Durchlaufen und im Vergleich zu den ersten Wert, aber dieser ist ein wenig sauberer.
InformationsquelleAutor Greg Osborne
Wie etwa
InformationsquelleAutor user534498
Könnten Sie schreiben eine helper-Methode wie diese:
Diese werden subtil unterschiedliche um den = = - operator in speziellen Fällen, wenn:
InformationsquelleAutor Joe Albahari
Ich weiß, es ist eine alte Frage, auf die ich stieß, aber ich Frage mich, was ist falsch mit:
InformationsquelleAutor Shakti Prakash Singh
Es funktioniert nicht, weil a==b zu einem booleschen Wert ausgewertet, die nicht verglichen werden kann, um einen integer, c ist. Was du hast scheint der beste Weg zu sein.
InformationsquelleAutor Orbit
Sollten Sie überlegen, die Werte in ein array und mit einer for () - Schleife. Es ist nicht wirklich einfacher, aber es könnte helfen, wenn die Anzahl der Werte geändert.
InformationsquelleAutor David Winant
Könnte man eine variable argument-Helfer-Funktion, um den Vergleich durchzuführen ganz einfach.
Dann hätte man genauso verwenden Sie die Funktion wie folgt
InformationsquelleAutor Silence Dogood