gpt4 book ai didi

c# - 需要从 C# 中的 ArrayList 中删除值

转载 作者:太空宇宙 更新时间:2023-11-03 21:47:30 25 4
gpt4 key购买 nike

因此,我被要求删除以字母 G、GE、G= 或 Z 结尾的 旅游代码。唯一不好的是我相信我们对很多页面都使用此调用这就是我不能首先更改数据库调用的原因,所以我想专门为这个人做这件事。我的代码正在调用一个 arrayList,其中填充了我们拥有的所有旅游代码。有什么办法可以删除带有上述字母的游览。这是我要处理的内容。

public void LoadTourCodes()
{
ddlTourCode.Items.Clear();

if (ddlTourCode.Visible)
{
ddlTourCode.Items.Add(new ListItem(" ", ""));

ArrayList tourCodes;
tourCodes = EblTipTours.FindTourCodes();

foreach (string tourCode in tourCodes)
{
ddlTourCode.Items.Add(tourCode);
}
}
}

最佳答案

您可以使用 LINQ 来完成,如下所示:

var toRemove = new []{"G", "GE", "G=", "Z"};
foreach (string tourCode in tourCodes.Where(code => !toRemove.Any(suffix => code.EndsWith(suffix)))) {
ddlTourCode.Items.Add(tourCode);
}

如果您不能使用 LINQ 因为它是遗留系统,您可以像这样重写代码:

string[] toRemove = new string[] {"G", "GE", "G=", "Z"};
foreach (string tourCode in tourCodes) {
bool good = true;
foreach (string suffix in toRemove) {
if (tourCode.EndsWith(suffix)) {
good = false;
break;
}
}
if (!good) continue;
ddlTourCode.Items.Add(tourCode);
}

关于c# - 需要从 C# 中的 ArrayList 中删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16198819/

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