Неясное поведение в списке и/или классом - C#
Формулировка задачи:
Есть программа с написанным классом:
В программе организован список типа HyperFile: И существует странное поведение при изменении полей определенного экземпляра класса, например:
- изменяет значение поля KS1 в конкретном, одном экземпляре HyperFiles[index], но:
- изменяет значение поля kg[0] во всех объектах в списке.
- работает нормально, только на один экземпляр
В чем может быть причина такого неясного поведения? Среда MS Visual Studio 2010
public class HyperFile { ushort width; byte height; byte[] kg = new byte[6]; byte[] kbsb = new byte[6]; byte kbst, kdchk; byte KS1, KS2; bool LK1, LK2; uint[] amp1 = new uint[4]; uint[] amp2 = new uint[4]; }
private List<HyperFile> Hyperfiles = new List<HyperFile>();
HyperFiles[index].KS1 = 100;
HyperFiles[index].kg[0] = 10;
byte[] KG = new byte[]{10,20,30,40,50,60}; HyperFiles[index].kg = KG
Решение задачи: «Неясное поведение в списке и/или классом»
textual
Листинг программы
for (int index = 0; index < HyperFiles.Count; index++) { byte[] KG = new byte[] { 10, 20, 30, 40, 50, 60 }; HyperFiles[index].kg = KG; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д