我有一个List<>作为lsSplitMember,我正在通过while循环将其发送到函数
作为字符串。但是它会引发异常消息“ Index was out of range。必须为非负数并且小于集合的大小”。
我尝试了以下代码。

//Globally declared variable lsSplitMember
List<String> lsSplitMember=new List<String>();



int ic = lsSplitMember.Count();
while (ic != 0)
{
  Process_Split(lsSplitMember[ic]);
  ic--;
}


Protected void Process_Split(String Member)
{
 //Some Code
}


那么我该如何解决这个问题呢?

最佳答案

int ic = lsSplitMember.Count();
while (ic != 0)
{
  Process_Split(lsSplitMember[ic-1]); // your index was off-by-one
  ic--;
}


请注意,使用C#语言功能,有很多不必要的元代码:

foreach(var text in lsSplitMember)
{
  Process_Split(text);
}


这更容易阅读,并且更容易出错。如果您需要该列表进行上下颠倒处理,则可以先将其反转。

关于c# - 如何将List <String>值作为String传递给Other函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22802370/

10-13 04:56