Zwei Datenmengen subtrahieren

Jungbluth

Mitglied
Hallo,
ich möchte zwei Datenmengen subtrahieren die beide exakt gleich groß sind. Derzeit nutze ich dafür eine For-Schleife finde das jetzt jedoch wenig elegant.
C#:
private int[] pointsUsed;
public ReadOnlyCollection<int> PointsTotal { get; private set; }
public ReadOnlyCollection<int> PointsRemain
        {
            get
            {
                List<int> output = new List<int>();
                for (int i = 0; i < StorageCount; i++)
                {
                    output.Add(PointsTotal[i] - pointsUsed[i]);
                }
                return output.AsReadOnly();
            }
        }
Gibts da eine bessere Lösung?
 
Alle Beispiele die ich gefunden habe (Stichwort: "Add/Subtract Matrices in c#") benutzen Schleifen, in welcher Elementweise die Operation durchgeführt wird.

Warum Matrices? Eine Liste ist ein 1D-Array.....
 
die summe von beiden errechnen und dies subtrahieren, müsste doch auch gehen
C#:
PointsTotal.Sum(x => x) - pointsUsed.Sum(x => x)

ok sind eigentlich immer noch 2 schleifen durchläufe, der Code ist aber nur noch ein Einzeiler

falls nur bis StorageCount subtrahiert werden darf/soll
C#:
PointsTotal.Take(StorageCount).Sum(x => x) - pointsUsed.Take(StorageCount).Sum(x => x)

Enumerable.Sum Methode (System.Linq)

Enumerable.Take Methode (System.Linq)

Edit:
ach sry, jetzt gesehen, die einzel Werte der Subtraktionen werden benötigt.
da bleibt dann wohl nur for-schleife
 

Neue Beiträge

Zurück