需要用不重复的整数填充二维数组,如何检查数字是否为整数,我检查了,但是无法检查输入元素是否出现,有没有比所有的另一个枚举更简单的方法元素
using System;
namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
int[,] Data = new int[x, y];
int i,j,m,n;
for (i = 0; i < x; i++)
{
for (j = 0; j < y; j++)
{
Console.WriteLine("Введите элемент массива [" + i + ","+j+"]:");
int z = 0;
string input_data = Console.ReadLine();
bool success_data = false;
while (success_data == false)
if (Int32.TryParse(input_data, out z))
{
Data[i, j] = z;
success_data = true;
}
else
{
Console.WriteLine("Некорректный ввод, введите корректное значение");
input_data = Console.ReadLine();
}
}
}
}
}
}
添加哈希集
var existValues = new HashSet<int>(x*y)。添加之前,检查(Contains(z))该值是否已经在哈希集中,如果没有---添加到哈希集(.Add(z))和数组中,如果有---请求一个新的。这是您想要的选项,无需遍历数组,但内存使用量大约增加了一倍。