关于 C# 锯齿状数组动态自动递增数组数组未正确打印值
Regarding C# Jagged array dynamic auto incrementing array array not printing values properly
我正在处理自动递增数组,但此逻辑对于锯齿状数组无法正常工作:
namespace TESETER
{
class Program
{
static void Main(string[] args)
{
int q, moj = 0;
int[][] arr = new int[1][];
int[][] b;
b = arr;
arr[0] = new int[1];
b[0] = arr[0];
while (moj < 3)
{
Console.WriteLine("interger");
int.TryParse(Console.ReadLine(), out q);
if (moj < 1)
{ arr[0][0] = q; moj++; }
else
{
moj++; arr[0] = new int[moj];
for (int i = 0; i < moj - 1; i++)
{
arr[0][i] = b[0][i];
}
arr[0][moj - 1] = q;
b = arr;
b[0] = arr[0];
}
}
Console.WriteLine(arr[0][0]);
Console.WriteLine(arr[0][1]);
Console.WriteLine(arr[0][2]);
Console.ReadLine();
}
}
}
输出: 整数 7 整数 8 整数 9 009
如果输入是 789,请帮助我想要输出 789
我建议使用 List<int>
而不是锯齿状数组。当您向其中添加新元素时,它会自动调整大小。
如果您必须在此处使用交错数组,请不要使用赋值来保留以前的值。请改用 Array.Copy
。
using System;
namespace TESETER
{
class Program
{
static void Main(string[] args)
{
int q, moj = 0;
int[][] arr = new int[1][];
int[][] b = new int[1][];
// b = arr;
// arr[0] = new int[1];
// Array.Copy(arr[0], b[0]);
while (moj < 3)
{
Console.WriteLine("interger");
int.TryParse(Console.ReadLine(), out q);
if (moj < 1)
{ arr[0][0] = q; moj++; }
else
{
moj++; arr[0] = new int[moj];
for (int i = 0; i < moj - 1; i++)
{
arr[0][i] = b[0][i];
}
arr[0][moj - 1] = q;
Array.Copy(arr, b);
//b[0] = arr[0];
}
}
Console.WriteLine(arr[0][0]);
Console.WriteLine(arr[0][1]);
Console.WriteLine(arr[0][2]);
Console.ReadLine();
}
}
}
我正在处理自动递增数组,但此逻辑对于锯齿状数组无法正常工作:
namespace TESETER
{
class Program
{
static void Main(string[] args)
{
int q, moj = 0;
int[][] arr = new int[1][];
int[][] b;
b = arr;
arr[0] = new int[1];
b[0] = arr[0];
while (moj < 3)
{
Console.WriteLine("interger");
int.TryParse(Console.ReadLine(), out q);
if (moj < 1)
{ arr[0][0] = q; moj++; }
else
{
moj++; arr[0] = new int[moj];
for (int i = 0; i < moj - 1; i++)
{
arr[0][i] = b[0][i];
}
arr[0][moj - 1] = q;
b = arr;
b[0] = arr[0];
}
}
Console.WriteLine(arr[0][0]);
Console.WriteLine(arr[0][1]);
Console.WriteLine(arr[0][2]);
Console.ReadLine();
}
}
}
输出: 整数 7 整数 8 整数 9 009
如果输入是 789,请帮助我想要输出 789
我建议使用 List<int>
而不是锯齿状数组。当您向其中添加新元素时,它会自动调整大小。
如果您必须在此处使用交错数组,请不要使用赋值来保留以前的值。请改用 Array.Copy
。
using System;
namespace TESETER
{
class Program
{
static void Main(string[] args)
{
int q, moj = 0;
int[][] arr = new int[1][];
int[][] b = new int[1][];
// b = arr;
// arr[0] = new int[1];
// Array.Copy(arr[0], b[0]);
while (moj < 3)
{
Console.WriteLine("interger");
int.TryParse(Console.ReadLine(), out q);
if (moj < 1)
{ arr[0][0] = q; moj++; }
else
{
moj++; arr[0] = new int[moj];
for (int i = 0; i < moj - 1; i++)
{
arr[0][i] = b[0][i];
}
arr[0][moj - 1] = q;
Array.Copy(arr, b);
//b[0] = arr[0];
}
}
Console.WriteLine(arr[0][0]);
Console.WriteLine(arr[0][1]);
Console.WriteLine(arr[0][2]);
Console.ReadLine();
}
}
}