Was ist falsch an diesem C# -Code? Ich habe versucht, den Operator + zu überladen, um zwei Arrays hinzuzufügen, aber eine Fehlermeldung wie folgt erhalten:Überladen des Operators + zum Hinzufügen von zwei Arrays
Einer der Parameter eines binären Operators muss der Typ enthalten sein.
class Program
{
public static void Main(string[] args)
{
const int n = 5;
int[] a = new int[n] { 1, 2, 3, 4, 5 };
int[] b = new int[n] { 5, 4, 3, 2, 1 };
int[] c = new int[n];
// c = Add(a, b);
c = a + b;
for (int i = 0; i < c.Length; i++)
{
Console.Write("{0} ", c[i]);
}
Console.WriteLine();
}
public static int[] operator+(int[] x, int[] y)
// public static int[] Add(int[] x, int[] y)
{
int[] z = new int[x.Length];
for (int i = 0; i < x.Length; i++)
{
z[i] = x[i] + y[i];
}
return (z);
}
}
Die MSDN-Lernprogrammseite zum Überladen enthält weitere Informationen - http://msdn.microsoft.com/en-us/library/aa288467%28VS.71%29.aspx – ChrisF
Wir überlegen, einem hypothetischen "Erweiterungsoperator" hinzuzufügen zukünftige Version von C#, die Ihr Problem lösen würde. Stroh Umfrage: Hat jemand von euch tolle Szenarien für diese Funktion? Je realistischer REALISTIC-Szenarien sind, desto wahrscheinlicher ist es, dass ein Feature eines Tages implementiert wird. Schicke sie mir. Sie können den E-Mail-Link in meinem Blog verwenden. –
Danke Eric.Heißt das, wir bekommen auch "Extension Everything" :) –