我定义了数组和函数但是我在调用函数时遇到了麻烦,我是否应该使用类名或对象来调用函数
public static string PrintArray (int [,] arr)
{
string output = "";
for (int i = 0; i<arr.GetLength(0);i++)
{
for (int j = 0; j < arr.GetLength(1); j++)
output += arr[i,j];
output = output.Substring(0, output.Length)+"/n";
}
return output;
}
public static void Fill(int[,] arr,int min, int max)
{
Random r = new Random();
for (int i = 0; i < arr.GetLength(0); i++)
{
arr[i] = r.Next(min, max);
for (int j = 0; j < arr.GetLength(1); j++)
{
arr[i,j] = r.Next(min, max);
}
}
}
答案 0 :(得分:2)
如果您使用static
方法,则必须使用类名调用它们。如果它是instance
(非静态)方法,则只能从对象调用,无法从对象实例或static
调用instance
方法来自静态类名的方法。
在您的情况下,由于您已定义static
方法,因此必须以静态方式引用它们。例如,如果您的班级被称为ArrayHelper
public class ArrayHelper
{
public static string PrintArray (int [,] arr)
{
string output = "";
for (int i = 0; i<arr.GetLength(0);i++)
{
for (int j = 0; j < arr.GetLength(1); j++)
output += arr[i,j];
output = output.Substring(0, output.Length)+"/n";
}
return output;
}
public static void Fill(int[,] arr,int min, int max)
{
Random r = new Random();
for (int i = 0; i < arr.GetLength(0); i++)
{
arr[i] = r.Next(min, max);
for (int j = 0; j < arr.GetLength(1); j++)
{
arr[i,j] = r.Next(min, max);
}
}
}
}
您可以像这样使用
var array = ...
ArrayHelper.Fill(array, 10, 20);