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