Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从int[]数组中删除整数_C#_Arrays - Fatal编程技术网

C# 从int[]数组中删除整数

C# 从int[]数组中删除整数,c#,arrays,C#,Arrays,我想得到一些帮助,让这个项目运作起来。用户必须首先输入int[]数组的上限和下限。接下来,他们输入要从所述数组中排除的数字并显示。我很难理解如何删除这些数字。任何帮助都将不胜感激。多谢各位 代码: Console.WriteLine(“现在请输入下限的第一个整数”); int lower=int.Parse(Console.ReadLine())//对数组下限使用用户输入 WriteLine(“现在输入第二个整数作为上限”); int upper=int.Parse(Console.ReadLi

我想得到一些帮助,让这个项目运作起来。用户必须首先输入int[]数组的上限和下限。接下来,他们输入要从所述数组中排除的数字并显示。我很难理解如何删除这些数字。任何帮助都将不胜感激。多谢各位

代码:

Console.WriteLine(“现在请输入下限的第一个整数”);
int lower=int.Parse(Console.ReadLine())//对数组下限使用用户输入
WriteLine(“现在输入第二个整数作为上限”);
int upper=int.Parse(Console.ReadLine())//对数组上限使用用户输入
WriteLine(“最后,输入您不希望在该范围内看到的整数”);
int[]exNums=newint[]{int.Parse(Console.ReadLine())}//用户输入要从范围中排除的编号
int[]numbers=Enumerable.Range(下限、上限).ToArray();
随机r=新随机();
int范围=0;
尝试
{
对于(int i=0;i<50;i++)
{
范围=右下(下,上);
控制台。写入(范围+“,”);
}
}
捕获(ArgumentOutOfRange异常)
{
Console.WriteLine(“上限不能低于下限”);
}

也许你需要使用数组而不是列表是有原因的,但为什么不使用类似于。。。(Java示例)

int[]answers=newint[upper];
int指数=0;
用于(整数较低;较低=0){
继续;
}
否则{
//添加到答案数组
答案[指数]=较低;
索引++;
}
}
好的。请不要这样写代码。与其搜索异常,不如自己检查值

if (upper < lower)
{
    Console.WriteLine("Upper bound cannot be lower than lower bound");
    return;
}
假设我们有一组要排除的数字:

int[] numbersToExclude = ...;
我们可以简单地使用LINQ的
.Except()
方法取出我们不想要的东西

IEnumerable<int> filteredNumbers = allNumbers.Except(numbersToExclude);
IEnumerable filteredNumbers=所有数字。除了(numbersToExclude);
.ToArray()
.ToList()
,或
foreach
根据您的意愿在之后显示
过滤器数据的结果


为了防止问题标题“从int[]数组中删除整数”中的错误通信,您不能从c#数组中删除条目。一旦设置了数组的大小(数组可以容纳的项数),就不能对其进行更改

从数组中添加和删除项的唯一方法是创建一个全新的数组,并复制要保留的元素


然而,有不同的数据结构可以添加和删除条目,而无需对您的终端进行所有这些数据管理。最流行的是
列表

可枚举。范围
需要一个起始编号和一系列要创建的条目,而不是上限。为什么不使用列表呢?您显然需要一个可变的大小,添加和删除。那就是你应该找的机器人。它可能是你的家庭作业。至少对我来说,我的教授没有让我们使用列表或LINQ或类似的东西,因为它抽象了很多好的初学者的东西。
if (upper < lower)
{
    Console.WriteLine("Upper bound cannot be lower than lower bound");
    return;
}
IEnumerable<int> allNumbers = Enumerable.Range(lower, (upper - lower) + 1);
int[] numbersToExclude = ...;
IEnumerable<int> filteredNumbers = allNumbers.Except(numbersToExclude);