相关疑难解决方法(0)

我正在尝试从字符串列表中删除空字符串,但奇怪的是并非所有字符串都被删除

我有一个要发送给该方法的字符串列表。该方法获取列表,对其进行迭代并删除所有空字符串。在我发送的列表中,共有 7 个空白字符串,但该方法似乎只删除了其中的 4 个。

这是方法:

public List<string> RemoveWhiteSpace(List<string> rawData)
{
    for (int i = 0; i < rawData.Count; i++)
    {
        if (rawData[i].Length == 0)
        {
            rawData.RemoveAt(i);
        }
    }

    return rawData;
}
Run Code Online (Sandbox Code Playgroud)

这是直接从控制台复制的列表本身:

  






@0
D=M
@1
D=D-M
@10
D;JGT
@1
D=M
@12
0;JMP
@0
D=M
@2
M=D
@14
0;JMP  
Run Code Online (Sandbox Code Playgroud)

这是该方法的输出字符串。它无法消除 3 个空字符串。我测试并检查了未被删除的字符串的索引,它们是索引:4,5 和 6。我还检查了这些字符串的长度,它们实际上是 0。我不明白问题是什么.




@0
D=M
@1
D=D-M
@10
D;JGT
@1
D=M
@12
0;JMP
@0
D=M
@2
M=D
@14
0;JMP
Run Code Online (Sandbox Code Playgroud)

c# list

1
推荐指数
2
解决办法
162
查看次数

我怎么能做这个特殊的foreach迭代器?

可能重复:
如何在C#中迭代可枚举集合中的项目时修改或删除项目

听着,我不想知道基本的foreach.我在谈论控制这个错误的那个:

"The enumerator is not valid because the collection changed."

当我这样做时会发生这种情况:

foreach(Image image in images)
{
   if(...)
   {
       images.remove(image)
   }
}
Run Code Online (Sandbox Code Playgroud)

我相信有一个特殊的迭代器可以很好地处理这个问题,就像Java一样.那么,我怎么能在C#中做到这一点呢?谢谢!

.net c#

0
推荐指数
1
解决办法
584
查看次数

仅保留列表中仅包含字母的元素

我有一个List<string>包含一些非字母字符的元素.例如,我可能#232353;根本不包含任何字母,或者我可能有,SomeText,SomeOtherText并且该元素包含逗号,也不是字母.如何使用linq删除这些元素?像这样的东西:

MyList = MyList.Where(...)
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# linq

0
推荐指数
1
解决办法
566
查看次数

list.RemoveAt in循环

for (int j = 0; j < list.Count; ++j )
{
     if (list[j].current_status == false)
     {  
       list.RemoveAt(j);  
     }  
}
Run Code Online (Sandbox Code Playgroud)

我想删除列表中有current_status == false的所有项目.但是,当执行语句:list.RemoveAt(j)时,list.Count将减去1.最后,原始循环不能从list [0]循环到list [list.Count].我该如何处理这种情况?

谢谢

c# loops list

0
推荐指数
1
解决办法
368
查看次数

从C#字典中获取密钥

可以想象这将是一个非常简单的任务,但是当我运行此代码时,我得到一个System.InvalidOperationException:

Dictionary<string, bool> TableExists = new Dictionary<string, bool>();
//... fill the dictionary
foreach(string value in TableExists.Keys){/*Do something*/}
Run Code Online (Sandbox Code Playgroud)

它应该遍历字典的键TableExists,但我foreach在行处得到无效操作异常.我错误地使用任何字典操作吗?如果是这样,通过C#字典的键的正确方法是什么?

编辑:

是的,我试图更改与字典键对应的某些值,但是收到Collection was modified错误.

c# dictionary

0
推荐指数
1
解决办法
100
查看次数

标签 统计

c# ×5

list ×2

.net ×1

dictionary ×1

linq ×1

loops ×1