C#

时间:2017-04-03 12:03:28

标签: c# function return

我想定义一个带两个输出的函数。第一个是布尔变量,第二个是具有未知行数和列数的二维数组,但如果布尔变量为真,则定义数组,如果布尔变量为假,则不定义数组。我该如何定义这个功能?如果有人能在一个例子中举例说明,我感谢你。 感谢

2 个答案:

答案 0 :(得分:0)

你想要这样的东西。

Tuple<string, int> NameAndId()
{
    // This method returns multiple values.
    return new Tuple<string, int>("Test", 100);
}

答案 1 :(得分:0)

如果未定义数组,为什么不返回null

  public static bool MyMethod(out int[,] array) {
    array = null;

    ...
  }

...

  int[,] data;

  if (MyMethod(out data)) {
    ....
  }

或者在C#7.0 +

的情况下
  if (MyMethod(out var data)) {
    ....
  }

编辑:如果您想要返回数组,但您不知道其Length(或想要调整它),您可以尝试工作使用List<T>并将.ToArray()放在最后:

  using System.Linq;
  ...

  List<int> list = new List<int>();

  list.Add(1);
  list.Add(5); 
  list.Add(10);
  ...
  list.Remove(5);
  ...
  list.RemoveAt(0);
  ...
  array = list.ToArray();