我想創建類Massive並添加一個方法來添加兩個海量元素。但是我的類實例的屬性Length不起作用。使長度屬性可用於我的類C#
public static void Add(Massiv mas1, Massiv mas2, ref Massiv mas3)
{
if (mas1.Length != mas2.Length)
{
Console.WriteLine("Error!"); return;
}
for (int i = 0; i < mas.Length; ++i)
{
mas3[i] = mas1[i] + mas2[i];
}
}
如何使它可用於我的課堂? 這是我的代碼。
class Massiv
{
public Massiv(int n)
{
mas = new int[n];
Random rand = new Random();
for (int i = 0; i < mas.Length; ++i)
{
mas[i] = rand.Next(0, 10);
}
}
public void ShowAll()
{
Console.WriteLine("Massive: ");
foreach (var elem in mas)
{
Console.Write(elem + " ");
}
Console.WriteLine();
}
public void ShowElement(int index)
{
try
{
Console.WriteLine("mas[{0}] = {1}", index, mas[index]);
}
catch (IndexOutOfRangeException)
{
Console.WriteLine("Error!");
}
}
public static void Add(Massiv mas1, Massiv mas2, ref Massiv mas3)
{
if (mas1.Length != mas2.Length)
{
Console.WriteLine("Error!"); return;
}
for (int i = 0; i < mas.Length; ++i)
{
mas3[i] = mas1[i] + mas2[i];
}
}
public int this[int index]
{
get { return mas[index]; }
set { mas[index] = value; }
}
private int[] mas;
}
}
你爲什麼要這樣定義'Add',而不是聲明['operator +'](http://msdn.microsoft.com/en-us/library/s53ehcz3.aspx)? –
非常感謝這個有趣的想法! – Heidel
特別是因爲目前你的'Add'有兩種方式破壞 - a)你打算把'mas3'設置成正確尺寸的新物體,但是失敗了,或者b)你沒有檢查傳入的'mas3'對象的長度是否正確,以接受'for'循環產生的值。 –