强制方法接受签名中的不同变量

本文关键字:变量 方法 | 更新日期: 2023-09-27 17:57:03

有没有办法强制 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