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[]);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д