【发布时间】:2014-05-29 20:38:37
【问题描述】:
这是我所做的:
// this is an example of my function, the string and the remover should be variables
string delimeter = ",";
string remover="4";
string[] separator = new string[] { "," };
List<String> List = "1,2,3,4,5,6".Split(separator, StringSplitOptions.None).ToList();
for (int i = 0; i < List.Count - 1; i++)
{
if(List[i]==remover)
List.RemoveAt(i);
}
string allStrings = (List.Aggregate((i, j) => i + delimeter + j));
return allStrings;
问题是返回的字符串和原来的字符串一样,和“1,2,3,4,5,6”一样。 “4”还在里面。
如何解决?
编辑:
解决方案是我没有检查列表的最后一个节点,因为这是我刚刚给出的示例
【问题讨论】:
-
附注:你有
i < List.Count - 1,但这永远不会打到最后一项。这是你的意图吗? -
你有一个错误和@Bradley所说的......
-
@Silvermind 就是这样,非常感谢!