Доброе утро,
Предположим, у меня есть класс
public class Class
{
int something;
int[] otherThing;
}
и я хочу сделать объекты типа Class
неизменяемыми. Предположим также, что у меня есть очень частая операция, которая создает новый объект типа Class
,
public Class SomeFunction()
{
int[] Temp = new int[] { ... };
return new Class(1, Temp);
}
Чтобы не создавать новые объекты слишком часто, и поскольку Temp
больше не доступен из метода, слишком плохо устанавливать конструктор
this.otherThing = Temp;
вместо
otherThing = new uint[Temp.Length];
for (int i = 0; i < Temp.Length; i++)
{
this.otherThing[i] = Temp[i];
}
Большое спасибо.