"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como funciona as variáveis ​​estáticas C# e por que elas não podem ser declaradas dentro de um método

Como funciona as variáveis ​​estáticas C# e por que elas não podem ser declaradas dentro de um método

Postado em 2025-04-29
Navegar:907

How Do Static Variables Work in C# and Why Can't They Be Declared Inside Methods?

variável estática em c#

Muitos desenvolvedores têm problemas para entender a funcionalidade de variáveis ​​estáticas em C#. Este artigo tem como objetivo esclarecer seus usos e uso, ao mesmo tempo em que explica por que as variáveis ​​estáticas não podem ser declaradas dentro dos métodos.

O que são variáveis ​​estáticas?

variáveis ​​estáticas são variáveis ​​de nível de classe que são compartilhadas entre todas as instâncias dessa classe. Seu valor é compartilhado entre todos os objetos criados a partir da classe.

Quando uso variáveis ​​estáticas?

No caso em que várias instâncias de uma classe são necessárias para manter valores, geralmente são usadas variáveis ​​estáticas. Alguns casos de uso típicos incluem:

  • Valor constante de armazenamento
  • Sustain Counter
  • Compartilhe dados entre diferentes partes do programa

Por que as variáveis ​​estáticas não podem ser declaradas dentro de um método?

variáveis ​​estáticas são declaradas fora do método porque possuem escopos diferentes das variáveis ​​no nível da instância. As variáveis ​​no nível da instância existem apenas dentro do escopo da instância do objeto, enquanto as variáveis ​​estáticas existem na própria classe. Portanto, as variáveis ​​estáticas não podem ser declaradas dentro de um método porque o método tem seu próprio escopo de isolamento.

Exemplo:

Considere o seguinte código, que demonstra a diferença entre variáveis ​​estáticas e variáveis ​​no nível da instância:

public class Book
{
    public static int myInt = 0; // 静态变量
    public int instanceInt = 5; // 实例级变量
}

public class Exercise
{
    static void Main()
    {
        Book book1 = new Book();
        book1.instanceInt  ; // 增加实例级变量
        book1.myInt  ; // 增加静态变量

        Book book2 = new Book();
        Console.WriteLine(book2.instanceInt); // 输出 5
        Console.WriteLine(book2.myInt); // 输出 1
    }
}

Neste exemplo:

  • myint é uma variável estática que é incrementada por 1 sempre que qualquer objeto da classe livro é modificado.
  • instantaint é uma variável de nível de instância que incrementa 1 apenas para o objeto específico ao qual pertence.

para concluir:

variáveis ​​estáticas são ferramentas poderosas para armazenar dados compartilhados entre várias instâncias de uma classe. Compreender seus usos e uso é essencial para a programação eficaz de C#. No entanto, é importante lembrar que as variáveis ​​estáticas não podem ser declaradas dentro dos métodos devido a diferentes escopos deles.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3