gpt4 book ai didi

c# - StringCollection.Count 意外增加

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

我正在研究一种方法,该方法将修剪 StringCollection 中的每个元素,以删除每个元素中我不需要的所有多余部分。奇怪的是,当我试图让这个方法起作用时(它现在起作用了),我注意到在代码中引入断点时 groupsToClean.Count 会随着 for 的每次迭代而递增 循环,我不明白为什么。

有人知道为什么吗?

private StringCollection CleanUpGroups(StringCollection groupsToClean)
{
StringCollection cleanedGroups = groupsToClean;

for (int i = 0; i < groupsToClean.Count; i++)
{
if (groupsToClean[i].IndexOf(",") != -1)
{
string temp = groupsToClean[i].Substring(3, (groupsToClean[i].IndexOf(",") - 3));
cleanedGroups.Add(temp);
}
else
break;
}

return cleanedGroups;
}

感谢您的任何见解!

最佳答案

因为 StringCollection是引用类型。您的 cleanedGroupsgroupsToClean 是同一个对象,因此您将“cleaned”项添加到您最初从中获取它们的集合中。

要解决此问题,只需在方法的开头创建新的 cleanedGroups:

private StringCollection CleanUpGroups(StringCollection groupsToClean)
{
var cleanedGroups = new StringCollection();

关于c# - StringCollection.Count 意外增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30239499/

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