Announcement

Collapse
No announcement yet.

Math.Min/Max-Methoden für mehrere Vergleichswerte

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Math.Min/Max-Methoden für mehrere Vergleichswerte

    Hallo,
    die Min/Max-Methode aus System.Math vergleicht nur 2 Werte. Für eine beliebige Anzahl von Werten sind die folgenden Methoden geeignet (in der C#-Schreibweise):

    static public int Max(int[] varArray) {
    int i0;
    if (varArray.Length == 0) i0 = System.Int32.MaxValue;
    else {
    i0 = varArray[0];
    for (int x1 = 1; x1 < varArray.Length; x1++) {
    if (varArray[x1] > i0) i0 = varArray[x1]; } }
    return i0; }

    static public int Min(int[] varArray) {
    int i0;
    if (varArray.Length == 0) i0 = System.Int32.MinValue;
    else {
    i0 = varArray[0];
    for (int x1 = 1; x1 < varArray.Length; x1++) {
    if (varArray[x1] < i0) i0 = varArray[x1]; } }
    return i0; }

    Für andere Datentypen können analoge Methoden geschrieben werden und in einer NET_Extended.Dll / namespace System / class MathEx zusammengefasst werden.

    Viel Erfolg!
    Jürgen

    PS. Es gibt vermutlich kein besseres Verfahren, als alle Array-Einträge in einer Schleife zu prüfen. Ich werde deshalb eine solche Assembly in Kürze zusammenstellen (es sei denn, es gibt sie schon) und zur Verfügung stellen ([email protected]). Wer Interesse hat oder einen anderen Vorschlag hat, wo ich sie anbieten soll...

    PS. Es handelt sich natürlich um eine sehr kleine Hilfe. Aber warum sollte sich jeder selbst hinsetzen und dies schreiben.
Working...
X