1. As classes são armazenadas no heap Este método pode garantir a flexibilidade do ciclo de vida dos dados emitidos. Embora haja alguma perda de desempenho, devido à otimização do heap gerenciado, a perda é relativamente pequena.
Mas às vezes precisamos apenas de uma estrutura de dados relativamente pequena, então podemos considerar o uso da estrutura
como
classe windowForm
{
público int Esquerda;
público int Direito;
}
Tal classe, com apenas dois itens de armazenamento, só precisa lidar com estas duas variáveis. Então pode ser definido como uma estrutura
estrutura windowForm
{
público int Esquerda;
público int Direito;
windowForm(int esquerda, int direita)
{
isto.Esquerda = esquerda;
isto.Direito = certo;
}
conjunto de vazios públicos()
{
Console.WriteLine("Esquerda:" + Esquerda + "Direita:" + Direita);
}
}
Dessa forma, estruturas com construtores podem evitar problemas e problemas de desempenho de defini-las em uma fila.
As estruturas também podem definir propriedades, etc.
2. A estrutura é um tipo de valor, armazenado na pilha ou embutido
Da seguinte forma: Os dois métodos Set processam a mesma estrutura e não podem alterar o valor de Left.
programa de aula
{
vazio estático principal(string[] args)
{
winForm win = new windowForm();
ganhar.set();
Mudar(ganhar);
ganhar.set();
Console.Leitura();
}
Mudança de vazio estático (vitória do windowForm)
{
vitória.Esquerda = 1;
}
}
3. A estrutura não pode ser herdada
4. O construtor da estrutura é um construtor sem parâmetros fornecido pelo compilador e você não pode definir um novo para substituí-lo.
5. A estrutura é usada principalmente para estruturas de dados menores. Se for muito grande, haverá perda de desempenho.
6. Ao passar uma estrutura como parâmetro, use a palavra-chave ref, caso contrário, novo conteúdo será copiado a cada vez, causando consumo desnecessário de desempenho.
7. Quando uma estrutura é atribuída a outra estrutura, por se tratar de uma estrutura do tipo sem referência, todas as cópias serão feitas sempre, e a classe