1. Классы хранятся в куче. Этот метод может обеспечить гибкость жизненного цикла выдаваемых данных. Несмотря на некоторую потерю производительности, из-за оптимизации управляемой кучи потери относительно невелики.
Но иногда нам нужна только относительно небольшая структура данных, тогда мы можем рассмотреть возможность использования структуры
нравиться
класс WindowForm
{
общественный int слева;
public int Право;
}
Такому классу, имеющему только два элемента хранения, нужно иметь дело только с этими двумя переменными. Тогда его можно определить как структуру
структура WindowForm
{
общественный int слева;
public int Право;
windowForm(интервал слева, интервал справа)
{
this.Left = слева;
это.Право = правильно;
}
публичный недействительный набор()
{
Console.WriteLine("Влево:" + Влево + " Вправо:" + Вправо);
}
}
Таким образом, структуры с конструкторами могут избежать проблем и проблем с производительностью, связанных с их определением в очереди.
Структуры также могут определять свойства и т. д.
2. Структура представляет собой тип значения, хранящийся в стеке или встроенный.
Следующее: два метода Set обрабатывают одну и ту же структуру и не могут изменить значение Left.
классная программа
{
static void Main(string[] args)
{
windowForm win = новая windowForm();
победа.сет();
Изменение (победа);
победа.сет();
Консоль.Читать();
}
static void Change (выигрыш windowForm)
{
победа.Лефт = 1;
}
}
3. Структура не может быть унаследована.
4. Конструктор структуры — это конструктор без параметров, предоставляемый компилятором, и вы не можете определить новый для его замены.
5. Структура в основном используется для небольших структур данных. Если она слишком велика, произойдет потеря производительности.
6. При передаче структуры в качестве параметра используйте ключевое слово ref, иначе каждый раз будет копироваться новый контент, что приведет к ненужному потреблению производительности.
7. При присвоении одной структуры другой структуре, поскольку структура является нессылочным типом, все копии будут делаться каждый раз, а класс