我试图将不同数量的字符串传递给List,而不是操纵这些字符串。 我正在尝试这样的事情,但我认为我做错了:
public static void ActivateStateFilter(List<string> lStatelist)
{
for (int index = 0; index < lStatelist.Count; index++) // Loop with for.
{
lStatelist.Add(lStatelist[index]); //Add strings to the list
}
}
这是我尝试传递值的方式:
ActivateStateFilter(new List<string> {"Active", "Inactive"});
提前致谢!
答案 0 :(得分:1)
您正在添加现有项目如何在已发送列表中添加新项目。 您的代码将lStatelist与其现有项重复。
你真的想做什么?
如果您尝试在特定索引上插入字符串,请使用:
lStatelist.Insert(index, newstring);
答案 1 :(得分:1)
您的代码将抛出 OutOfmemoryException ,因为您创建了一个无限循环。 您正在将列表的项目添加到包含项目的列表中...并且您正在为列表中的每个项目执行此操作...这将创建无限循环。
我认为你正在寻找这样的东西:
public class Program
{
private static readonly List<String> _lStateList = new List<String>();
static void Main( String[] args )
{
ActivateStateFilter( new List<String> { "1", "2" } );
}
private static void ActivateStateFilter( IEnumerable<String> values )
{
_lStateList.AddRange( values );
}
}
此代码将为_lStateList
添加一系列stirng值