Summe eines arrays (c#)?

...komplette Frage anzeigen

3 Antworten

Da hast du mehrere Varianten:

1.)

var sum = 0;
for (int i = 0; i<meinArray.Length; ++i) sum += meinArray[i];

2.)

var sum = 0;
foreach (var element in meinArray) sum += element;

3.)

var sum = meinArray.Sum();

Variante 1 und 2 sind eher dafür geeignet, wenn du komplexere Vorgänge mit den Einzelnen Elementen vornimmst (z.B. Math.Pow) oder du statt normalen Zahlen komplexe Strukturen oder Klassen verwendest. Dabei gibt Variante 1 die Reihefolge vor, mit der du arbeitest, bei 2 ist das egal.

Bei Variante 3 wird einfach aus dem Array die einfache Summe gebildet. Dies geht meines Wissens nur mit normalen Zahlentypen und es ist auch nicht möglich, irgentwie noch was mit den einzelnen Elementen zu machen (z.B. Elemente quadrieren, bevor die addiert werden).

Sehr schön und vollständig!

Dabei wird sogar die deutsche Rechtschreibung und Grammatik beachtet, was in diesem Forum eine Seltenheit ist. Die Jugend scheint immer mehr zu verdummen.

1

Schleifentechnisch könnte man natürlich auch noch andere, eher kuriose, Beispiele nennen, drunter die While oder das Do mit Zähler. Im Int-Array ist der Datentyp klar und es kann problemlos das ForEach verwendet werden. Aber auch das Array.Sum() ist eine einfache Lösung.

Wie lange codest du schon, “JungerPadawan95“? Bist du beruflich darin tätig?

0
@Toraka

Ich absolviere jetzt die 12. Klasse mit einem Abitur. Coden tue ich seit der 10. Klasse.

Dieses Jahr startet mein Informatikstudium. Beruflich mache ich (leider) noch nix in Richtung Informatik.

0
@Toraka

Meine Lieblinsschleife ist ja die "if" :p

int sum;

int counter;

start:

if (counter < meinArray.Length)

{

sum += meinArray[counter];

goto start;

}

//Die Summe ist in der Variable "sum"

0

Ebenso, wie du es in der Schule beim Rechenunterricht gelernt hast. Einen Wert nach dem anderen addieren …

Dafür kann man alle Schleifen-Konstruktionen verwenden, die üblich sind:

  1. Summenvariable auf 0 setzen
  2. In der Schleife einen Wert nach dem anderen auf die Summenvariable addieren …

Ergaenzend zu JungerPadawans sehr gute antwort, hier noch eine moeglichkeit: wenn du mit komplexeren objecten arbeitest

        List<KeyValuePair<string, int>> test = new List<KeyValuePair<string, int>>() {
            new KeyValuePair<string, int>("one",1),
            new KeyValuePair<string, int>("two",2),
            new KeyValuePair<string, int>("three",3)
        };

        int sum = test.Select(x => x.Value).Sum();

Was möchtest Du wissen?