Métodos estáticos C#

Resumo : neste tutorial, você aprenderá sobre os métodos estáticos do C# e como usá-los de maneira eficaz.

Introdução aos métodos estáticos C#

Para definir um método estático, você usa a staticpalavra-chave com a seguinte sintaxe:

class MyClass
{
    public static type MyStaticMethod(parameters)
    {
        // 
    }
}Linguagem de código:  PHP  ( php )

Nesta sintaxe, a staticpalavra-chave indica que MyStaticMethod é um método estático.

Assim como os campos estáticos , os métodos estáticos estão vinculados a uma classe . Eles não estão vinculados a nenhuma instância da classe. Portanto, os métodos estáticos não podem acessar membros da instância. No entanto, eles podem acessar outros membros estáticos.

Para chamar um método estático dentro da classe, você usa o nome do método estático:

MyStaticMethod(arguments);Linguagem de código:  JavaScript  ( javascript )

Para chamar um método estático fora da classe, você usa esta sintaxe:

ClassName.MyStaticMethod();Linguagem de código:  CSS  ( css )

Na prática, você usa métodos estáticos definidos em uma classe de utilitário.

Exemplos de métodos estáticos em C#

Vejamos o exemplo do uso do método estático.

Primeiro, defina a UnitConverterclasse que possui dois métodos estáticos:

class UnitConverter
{
    public static double KgToLbs(double weight) => weight * 2.20462262185;

    public static double LbsToKg(double weight) => weight * 0.45359237;

}Linguagem de código:  PHP  ( php )

O KgToLbsconverte o peso de quilograma em libra e o LbsToKgmétodo converte o peso de libra em quilograma.

Segundo, chame o KgToLbs()método estático para converter o peso de quilograma em libra:

// Program.cs

// kg -> pound
double weight = UnitConverter.KgToLbs(100);
Console.WriteLine($"100kg={weight:#.00}lbs");

// pound -> kg
weight = UnitConverter.LbsToKg(100);
Console.WriteLine($"100lbs={weight:#.00}kg");Linguagem de código:  JavaScript  ( javascript )

Saída:

100kg = 220.46lbs
100lbs = 45.36kg

Resumo

  • Os métodos estáticos estão vinculados a classes, não a instâncias de classes.
  • Agrupe métodos estáticos relacionados em uma classe de utilitário.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *