C# 如何通过列表<;字符串>;值作为字符串传递给另一个函数
我有一个C# 如何通过列表<;字符串>;值作为字符串传递给另一个函数,c#,while-loop,C#,While Loop,我有一个列表作为lsSplitMember,我通过while循环将其发送到函数 但它抛出异常消息“索引超出范围。必须为非负且小于集合的大小”。 我已尝试使用以下代码 //Globally declared variable lsSplitMember List<String> lsSplitMember=new List<String>(); int ic = lsSplitMember.Count(); while (ic != 0) { Process_Sp
列表
作为lsSplitMember,我通过while循环将其发送到函数
但它抛出异常消息“索引超出范围
。必须为非负且小于集合的大小”。
我已尝试使用以下代码
//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
}
//全局声明的变量lsSplitMember
List lsSplitMember=新列表();
int ic=lsSplitMember.Count();
while(ic!=0)
{
进程分割(lsSplitMember[ic]);
ic-;
}
受保护的无效进程\u拆分(字符串成员)
{
//一些代码
}
那么我该如何解决这个问题呢
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#语言功能,会产生大量不必要的元代码:
foreach(var text in lsSplitMember)
{
Process_Split(text);
}
这是一个更容易阅读和更少的错误倾向于写。如果需要将列表颠倒,可以先将其反转。计数比
列表的最后一个索引大一个,因为它们的索引为零,这是您尝试访问的索引。实际上,您应该为此使用迭代器:
foreach( string s in lsSplitMember )
Process_Split( s );
计数比列表的最后一个索引大一个,因为它们的索引为零,这是您尝试访问的索引。实际上,您应该为此使用迭代器:
foreach( string s in lsSplitMember )
Process_Split( s );
试试这个
更改过程_分割(lsSplitMember[ic])代码>至过程_分割(lsSplitMember[ic-1])代码>试试这个
更改过程_分割(lsSplitMember[ic])代码>至过程_分割(lsSplitMember[ic-1])代码>试试这个
List<String> lsSplitMember=new List<String>();
int ic = lsSplitMember.Count();
while (ic != 0)
{
ic--;
Process_Split(lsSplitMember[ic]);
}
Protected void Process_Split(String Member)
{
//Some Code
}
List lsSplitMember=new List();
int ic=lsSplitMember.Count();
while(ic!=0)
{
ic-;
进程分割(lsSplitMember[ic]);
}
受保护的无效进程\u拆分(字符串成员)
{
//一些代码
}
试试这个
List<String> lsSplitMember=new List<String>();
int ic = lsSplitMember.Count();
while (ic != 0)
{
ic--;
Process_Split(lsSplitMember[ic]);
}
Protected void Process_Split(String Member)
{
//Some Code
}
List lsSplitMember=new List();
int ic=lsSplitMember.Count();
while(ic!=0)
{
ic-;
进程分割(lsSplitMember[ic]);
}
受保护的无效进程\u拆分(字符串成员)
{
//一些代码
}
提供的lsSplitMember不为null
提供的lsSplitMember不为null。。。除非从最后到第一次处理字符串很重要。。。。除非从最后到第一个处理字符串很重要。