【发布时间】:2017-07-12 16:53:46
【问题描述】:
所以,我需要制作这个结构
职位:
0 - {2, 5, 7, 8}
1 - {9, 10, 12}
2 - {3, 4}
3 -
我正在尝试使用锯齿状数组(我不知道是否有更好的方法来做到这一点,也许使用 ArrayList 或 Hashset 但我不确定)。
所以,要在锯齿状数组中插入数字,我将接收用户输入(2 个数字)。如果用户键入 1 和 2,我需要将两者都插入到锯齿状数组中。
但要做到这一点,我需要检查位置 0 是否为空,如果为空,我需要将用户输入放入锯齿状数组中。如果它不为空,那么它将检查输入是否存在于锯齿状数组中。
所以,我遇到的问题是检查锯齿状数组是否为空。
我试过了:
static void Main(string[] args)
{
Console.WriteLine("Digite a lista de numeros com um espaço de diferença entre cada numero");
string[] ar_temp = Console.ReadLine().Split(' ');
int[] ar = Array.ConvertAll(ar_temp, Int32.Parse);
int tam = ar.Length;
char fim = 's';
int[][] jaggedarray = new int[tam / 2][];
for (int x = 0; x < tam / 2; x++)
{
jaggedarray[x] = new int[tam];
}
if (jaggedarray[0] is null)
{
Console.WriteLine("is null");
}
else
{
Console.WriteLine("isn't null");
}
}
但我得到了错误的输出(它不将位置识别为空,即使那里有一个空数组......)
如何检查锯齿状数组的位置是否为空?
【问题讨论】:
-
听起来你可能想要一个
List<int>数组。 -
jaggedarray[0] is null?这甚至是合法的 C# 吗? -
@WiktorZychla 这不会与
is null一起编译。 -
@SamvelPetrosov:我知道,这是向 OP 提出的问题。
-
@WiktorZychla 我刚刚澄清了
标签: c# arrays jagged-arrays