List.Add() добавляет один и тот же массив - C#
Формулировка задачи:
Колллеги, может кто подскажет в чем проблема:
Есть код:
При объявлении массива bcnode1 вне цикла, при добавлении элемента в LIST, все элементы LIST заменяются последним значением массива. во всем листе. Если внести объявление в цикл проблема исчезает.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
public class Boundary
{
public List<int[]> iPlate = new List<int[]>();
}
static void Main(string[] args)
{
Boundary CONV = new Boundary();
int[] bcnode1 = new int[2];
for (int i = 0; i < 100; ++i)
{
bcnode1[0] = i;
bcnode1[1] = 100 - i;
CONV.iPlate.Add(bcnode1);
}
}
}
}Решение задачи: «List.Add() добавляет один и тот же массив»
textual
Листинг программы
CONV.iPlate.Add(bcnode1.Clone() as int[]);