Nic*_*rre 1 c# regex linq foreach
我有这个linq foreach
public Func<List<string>, Foobar, List<string>> ExtractClassName = (lines, foo)
=>
{
temp = lines.FindAll(_FooRege.IsMatch);
temp.ForEach(t => { lines.Remove(t); });
lines.ForEach(
lin =>
{
if (foo.FooRege.IsMatch(lin))
{
docsText.AppendLine(TrimSlashes(lin));
lines.Remove(lin);
}
else if(_FooRege.IsMatch(lin))
{
_foo.ClassName = lin.Split(' ').Last();
lines.Remove(lin);
}
});
return lines;
};
Run Code Online (Sandbox Code Playgroud)
测试数据
/// <summary>
/// Summary <- skips this one
/// </summary>
Run Code Online (Sandbox Code Playgroud)
如果一切都没问题,他会在第一场比赛中击中第一场比赛,但如果一条线被跳过则第二场击中第一场比赛.不知道为什么会发生这种情况.
永远不要修改您当前正在迭代的集合.首先创建集合的副本,在您的情况下,以下小改动将执行此操作:
foo.ToList().ForEach(...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
253 次 |
| 最近记录: |