Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将值添加到int列表的各个位置?_C# - Fatal编程技术网

C# 如何将值添加到int列表的各个位置?

C# 如何将值添加到int列表的各个位置?,c#,C#,比如说 列表包含整数值34、78、20、10、17、99、101、24、50、13 在位置1、4和5处的值为11 位置是从0开始的索引值 最后的结果是=>34,11,78,20,10,11,17,11,99,101,24,50,13 我目前的代码如下: List<int> list_iNumbers = new List<int>(); list_iNumbers.Add(34); list_iNumbers.Add(78); list_iNumbers.Add(20

比如说

  • 列表包含整数值34、78、20、10、17、99、101、24、50、13
  • 在位置1、4和5处的值为11
  • 位置是从0开始的索引值
  • 最后的结果是=>34,11,78,20,10,11,17,11,99,101,24,50,13
我目前的代码如下:

List<int> list_iNumbers = new List<int>();
list_iNumbers.Add(34);
list_iNumbers.Add(78);
list_iNumbers.Add(20);
list_iNumbers.Add(10);
list_iNumbers.Add(17);
list_iNumbers.Add(99);
list_iNumbers.Add(101);
list_iNumbers.Add(24);
list_iNumbers.Add(50);
list_iNumbers.Add(13);

List<int> list_iPosition = new List<int>();
list_iPosition.Add(1);
list_iPosition.Add(4);
list_iPosition.Add(5);

int iValueToInsert = 11;
List List_iNumbers=newlist();
增加(34)个成员;
增加(78);
增加(20);
增加(10)个成员;
增加(17)个成员;
增加(99);
增加(101)个成员;
增加(24);
增加(50)个成员;
增加(13)个成员;
列表位置=新列表();
列表i位置。添加(1);
列表位置。添加(4);
列表位置。添加(5);
int iValueToInsert=11;
现在如何在这些位置插入并获得正确的结果

使用方法而不是
Add
。诸如此类:

foreach(var pos in list_iPosition.OrderByDescending(x => x))
    list_iNumbers.Insert(pos, iValueToInsert);
你必须从上一个索引开始做这件事,使它正确。这就是为什么我首先使用降序排序。

非Linq解决方案:

For(int i = 0; i<count_of_numbers_to_insert; i++)
{
    list_iNumbers.Insert(pos+i, valueToInsert);
}

For(int i=0;i-1)用于令人印象深刻的搜索工作。您的示例代码会误导您想要的内容。如果您不需要它,请将其删除