Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.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# 如何解决Arraylist中的错误_C# - Fatal编程技术网

C# 如何解决Arraylist中的错误

C# 如何解决Arraylist中的错误,c#,C#,我不明白为什么即使错误列表中包含1,这个代码也会跳出循环。调试时,errorlist[0]=1和其他索引为0 解决方案是什么?您需要将&而不是|。(如果您需要这两个选项,请同时从列表中删除) 在你的情况下,第一个条件成功了 您的列表不包含-1,因此如果(!errorlist.Contains(-1))条件将中断 编辑 如果仍然需要保留|,可以执行以下操作 if(!errorList.Any((p)=>{return(p==1 | | p==1);})) 如果您不能使用任何,您仍然可以像这样定义它

我不明白为什么即使错误列表中包含1,这个代码也会跳出循环。调试时,
errorlist[0]=1
和其他索引为0


解决方案是什么?

您需要将
&
而不是
|
。(如果您需要这两个选项,请同时从列表中删除)

在你的情况下,第一个条件成功了

您的列表不包含
-1
,因此如果(!errorlist.Contains(-1))条件将中断

编辑

如果仍然需要保留
|
,可以执行以下操作

if(!errorList.Any((p)=>{return(p==1 | | p==1);}))

如果您不能使用任何,您仍然可以像这样定义它


如果(!(errorList.Cotains(1)| | errorList.Contains(-1))
您需要将
&
而不是
|
。(如果您需要这两个选项,请同时从列表中删除)

在你的情况下,第一个条件成功了

您的列表不包含
-1
,因此如果(!errorlist.Contains(-1))条件将中断

编辑

如果仍然需要保留
|
,可以执行以下操作

if(!errorList.Any((p)=>{return(p==1 | | p==1);}))

如果您不能使用任何,您仍然可以像这样定义它


如果(!(errorList.Cotains(1)| | errorList.Contains(-1))
您的条件是检查列表是否同时包含-1和1。我猜你想要

if (!(errorlist.Contains(-1)) || !(errorlist.Contains(1))) break;


您的条件是检查列表是否同时包含-1和1。我猜你想要

if (!(errorlist.Contains(-1)) || !(errorlist.Contains(1))) break;


|
表示OR。 因此,这是这样的:

如果(errorList不包含-1)或(errorList不包含1),则中断

如您所见,errorList因此必须包含-1和1才能不中断

如果您不想在任何一个出现时中断,请将
|
(或)更改为
&&
(和):

要实现这一点,您也可以执行以下操作:

if (!(errorlist.Contains(-1)) && !(errorlist.Contains(1))) break;
内容如下:

如果没有,则中断(errorList包含-1或errorList包含1)。请注意,在应用not之前,未将not移动到整个表达式的前面,并将您或部分移动到一起


这似乎是您试图建模的。

表示OR的
|
。 因此,这是这样的:

如果(errorList不包含-1)或(errorList不包含1),则中断

如您所见,errorList因此必须包含-1和1才能不中断

如果您不想在任何一个出现时中断,请将
|
(或)更改为
&&
(和):

要实现这一点,您也可以执行以下操作:

if (!(errorlist.Contains(-1)) && !(errorlist.Contains(1))) break;
内容如下:

如果没有,则中断(errorList包含-1或errorList包含1)。请注意,在应用not之前,未将not移动到整个表达式的前面,并将您或部分移动到一起


这似乎就是你想要模仿的。

如果我没弄错的话

为什么即使错误列表中包含1,此代码也会跳出循环 名单

当且仅当
errorlist
不包含
1
-1
时,才需要中断:

if (!(errorlist.Contains(-1) || errorlist.Contains(1))) break;

如果我没弄错的话

为什么即使错误列表中包含1,此代码也会跳出循环 名单

当且仅当
errorlist
不包含
1
-1
时,才需要中断:

if (!(errorlist.Contains(-1) || errorlist.Contains(1))) break;

这不是我需要的逻辑。我需要或只是,但它似乎让我困惑于不执行这不是我需要的逻辑。我需要或只是,但似乎它让我混淆了不执行和代码不工作。我的名单上还有1个。如果我的列表包含1,则我需要处理下一个语句,而不是中断。请编辑您的问题,以给出关于何时中断的确切要求。这两个代码都不起作用。我的名单上还有1个。如果我的列表包含1,则我需要处理下一个语句,而不是中断。请编辑您的问题,以给出关于何时中断的确切要求。但最初根据我的要求,列表包含1-1 0。我将把这个列表传递给函数,用我的其他逻辑将非零作为零列表-1已被覆盖,仅当代码未中断时1才需要覆盖为0。因此,您遇到的问题与您所问的完全不同。(迄今为止)提供的3个答案准确地回答了您的问题。我建议问一个实际上代表你问题的不同问题。如何问一个好问题。这似乎是一个“对不起,弗兰克·J”的例子。你所有的逻辑都起作用了,我已经试过了。我问的问题是需要。循环即使包含1也会中断。让我试试其他的可能性。但最初根据我的要求,列表包含1-10。我将把这个列表传递给函数,用我的其他逻辑将非零作为零列表-1已被覆盖,仅当代码未中断时1才需要覆盖为0。因此,您遇到的问题与您所问的完全不同。(迄今为止)提供的3个答案准确地回答了您的问题。我建议问一个实际上代表你问题的不同问题。如何问一个好问题。这似乎是一个“对不起,弗兰克·J”的例子。你所有的逻辑都起作用了,我已经试过了。我问的问题是需要。循环即使包含1也会中断。让我试试其他的可能性。是的,成功了。。。甚至我以前也尝试过这个逻辑,但我的另一个逻辑现在已经不循环了。谢谢你的工作。。。甚至我以前也尝试过这个逻辑,但我的另一个逻辑现在已经不循环了。谢谢