无法在列表中<string>插入文本



我想在某些位置将字符串添加到列表中。我尝试使用List.Intert()方法以及InserTrange()。两者都给我错误。

     //Using InsertRange() Method
     string[] msg = { "Hi", "There",
                        "Good", "Morning" };
     List<string> Lines=new List<string>;
     Lines.InsertRange(4, msg);
     //Using Insert() Method
     string[] msg = { "Hi, Good Morning" };
     List<string> Lines=new List<string>;
     Lines.Insert(1, msg);

请建议解决方案。

Insert方法服用 signle string不是 array

Lines.Insert(1, msg[0]);

InsertRange的第一个参数是要插入的索引。您是在4th索引上插入数组,而List Lines没有4th index.

0 index上插入数组。

Lines.InsertRange(0, msg);

首先,您必须修复代码中的语法错误,也就是说,您必须声明类似的字符串列表:List<string> Lines=new List<string>();在您的情况下,您错过了()(希望它不是错字)。然后,对于插入和insertrange,给定的索引应有效。这意味着指定的索引将在集合中可用。

考虑第一个片段,InsertRange

该集合在此阶段是空的,您正在尝试将其插入索引4,该索引在此阶段无效,并导致参数outofrangeException。因此,您可以尝试

 Lines.InsertRange(0, msg);

也尝试使用addrange代替inserrange,这在这种情况下也很有帮助:

Lines.AddRange(msg);

现在让我考虑第二个片段。使用.Insert方法,允许您将项目插入集合中的有效索引。但是,在您的情况下,您正在尝试将一系列字符串插入列表中的索引,而该索引不允许您提供一个字符串,而不是为数组提供一个字符串。请记住,这里的一件事也是应该有效的重要因素。如果您不希望在特定位置处于特定位置的新元素,也可以尝试.add()。它将被添加到最后一个位置。

相关内容

最新更新