Я пытаюсь скопировать часть массива в другое место. Вот объявление.Путаница о массивах
public ObjectBasicFeatures[] ALLOBJECTS = new ObjectBasicFeatures[150];
Когда я делаю это,
ALLOBJECTS[1]= ALLOBJECTS[0];
Любые изменения, сделанные в одной либо вызвать изменение в другой.
От этого я понимаю, что он устанавливает указатели на тот же адрес (какой «копирование», но не то, что я хочу).
Как скопировать память, хранящуюся в указателе ALLOBJECTS [0], в ALLOBJECTS [1]?
Вещи пробовал:
- Array.Copy() (все еще копировали указатели ...)
- Использование оператора разыменования (Не работает ...)
Я думаю, что это то, что вы хотите https://msdn.microsoft.com/en-us/library/aa288474(v=vs.71).aspx – MistyK
, если вам действительно нужно работать с концепцией указателей в C#, есть способ с "небезопасным" кодом. В противном случае то, что вы хотите, называется глубокой копией или клоном. Найдите ICloneable, MemberwiseClone, Object.Clone. – dlatikay
Возможный дубликат [Как сделать глубокую копию массива?] (Http://stackoverflow.com/questions/4054075/how-to-make-a-deep-copy-of-an-array) – jjj