有没有办法强制 C# 中的方法接受同一签名槽中不同类型的数组/变量或使其忽略签名的一部分?
我的代码:
private void array_joiner(String[,] newArray, Int32[,] MatrixArray, String[,] RekursionArray, Char[] ArrayX, Char[] ArrayY)
{
for (Int16 i = 0; i < ArrayX.Length + 1; i++)
{
newArray[i, 0] = ArrayX[i].ToString();
}
for (Int16 i = 1; i < ArrayY.Length + 1; i++)
{
newArray[0, i] = ArrayY[i].ToString();
}
for (Int16 y = 1; y < ArrayY.Length + 1; y++)
{
for (Int16 x = 1; x < ArrayX.Length +1; x++)
{
newArray[y, x] = MatrixArray[y, x].ToString();
}
}
}
我的问题基本上是我想将 Int32[,]矩阵数组(Int32[,] 和 String[,]) 插槽中的两个不同数组解析为该方法,但我只是不知道如何。有人有比编写两种不同方法更好的主意吗?提前感谢。
您可以将它们声明为 Array 类,然后计算数组中数据类型以及它们分别有多少个等级。
你基本上有两种方法:
- 使其成为泛型方法 http://msdn.microsoft.com/it-it/library/512aeb7t.aspx(小心处理可能很棘手的多维集合)
- 重载该方法,声明两个具有相同名称和不同参数的签名 http://msdn.microsoft.com/en-us/library/vstudio/ms229029(v=vs.100).aspx