Já vi em vários livros, que usam o cálculo da área de um círculo para poder mostrar o uso de uma const e uma variável static.
Exemplo usando static e const :
https://pastebin.pl/view/9657eb06
Qual a diferença?
Desculpa qualquer erro de escrita e obrigado!
Copyright © 2024 QUIZLS.COM - All rights reserved.
Answers & Comments
Uma constante (const) é um dado imutável, uma vez definida não tem como alterar mais. Na verdade um campo ou propriedade marcado com o modificado const não pode mais ser chamado de variável justamente porque se tornam imutáveis.
No geral, qualquer dado imutável pode ser chamado de constante. Se você faz 'string site = "yahoo"', o valor "yahoo" do lado direito do operador "=" pode ser chamado de constante. Const == dado constante, imutável.
Já uma variável estática é diferente, uma variável estática pode ter seu valor alterado (como qualquer outra variável), porém ao ser marcada com o modificador static você diz ao compilador que esta variável pertence a classe (ou escopo) onde ela está sendo criada. Isto é, sempre que você alterar um campo ou propriedade estática, mesmo que você tenha dez objetos diferentes, essa mudança será propagada para todos os objetos! Isso acontece pois todos os objetos passaram a compartilhar a mesma propriedade quando você a marcou com o modificador static.
Faça o teste:
// Pessoa.cs
class Pessoa
{
public static string Nome { get; set; }
public Pessoa(string nome)
{
Nome = nome;
}
}
// Program.cs
var pessoa1 = new Pessoa("Mateus");
var pessoa2 = new Pessoa("Eric");
pessoa1.Nome = "João";
Console.WriteLine(pessoa1.Nome);
Console.WriteLine(pessoa2.Nome);
Vai imprimir "João" duas vezes no console, mesmo que você só tenha alterado o nome do primeiro objeto. isto porque ambos os objetos compartilham a mesma propriedade 'Nome'.