gpt4 book ai didi

c# 如何在使用 list.Remove 时遍历列表中的每个项目

转载 作者:行者123 更新时间:2023-11-30 19:10:06 25 4
gpt4 key购买 nike

我有这段代码必须删除从 1 到 700 的所有数字,其中包含大于 6 的数字

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sevenland_Numbers
{
class Program
{
static void Main(string[] args)
{
List<string> numbers = new List<string>();

for (int i = 0; i <= 700; i++)
{
numbers.Add(i.ToString());

}

for (int i = 0; i <numbers.Count; i++)
{
if (numbers[i].Contains('7') || numbers[i].Contains('8') || numbers[i].Contains('9'))
{
numbers.Remove(numbers[i]);
;
}

}
for (int i = 0; i < numbers.Count; i++)
{
Console.WriteLine(numbers[i]);
}


}
}
}

但是当我使用 Remove 时,列表会调整大小,所以我不会使用 for 循环遍历所有元素。有解决这个问题的简单方法吗?

最佳答案

这里有一个简单的方法:

var toRemove = "789";
numbers.RemoveAll(n => toRemove.Any(r => n.Contains(r)));

关于c# 如何在使用 list.Remove 时遍历列表中的每个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19845844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com