English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Constantes do C#

Os constantes são valores fixos, que não mudam durante a execução do programa. As constantes podem ser de qualquer tipo de dados básicos, como constantes inteiras, constantes de ponto flutuante, constantes de caractere ou constantes de string, além das constantes de enumeração.

Constantes podem ser tratadas como variáveis normais, exceto que seus valores não podem ser modificados após a definição.

Constante de inteiro

Constantes de inteiros podem ser em decimal, octal ou hexadecimal. O prefixo especifica a base: 0x ou 0X representa hexadecimal, 0 representa octal, e sem prefixo representa decimal.

Constantes de inteiros também podem ter sufixos, que podem ser a combinação de U e L, onde U e L representam unsigned e long, respectivamente. O sufixo pode ser maiúsculo ou minúsculo, e os sufixos podem ser combinados em qualquer ordem.

Aqui estão alguns exemplos de constantes de inteiros:

212         /* Válido */
215u        /* Válido */
0xFeeL      /* Válido */
078         /* Inválido:8 Não é um dígito octal */
032UU       /* Inválido: não pode repetir sufixo */

A seguir estão exemplos de constantes de inteiros de vários tipos:

85         /* Decimal */
0213       /* Octal */
0x4b       /* Hexadecimal */
30         /* int */
30u        /* int sem sinal */
30l        /* long */
30ul       /* long sem sinal */

Constante de ponto flutuante

Uma constante de ponto flutuante é composta por parte inteira, ponto flutuante, parte decimal e parte exponencial. Você pode usar a forma decimal ou a forma exponencial para representar uma constante de ponto flutuante.

Aqui estão alguns exemplos de constantes de ponto flutuante:

3.14159       /* Válido */
314159E-5L    /* Válido */
510E          /* Inválido: expoente incompleto */
210f          /* Inválido: falta parte decimal ou expoente */
.e55          /* Inválido: falta parte inteira ou decimal */

Quando representado em forma decimal, deve conter ponto flutuante, expoente ou ambos. Quando representado em forma exponencial, deve conter parte inteira, parte decimal ou ambos. O expoente assinado é representado por e ou E.

Constante de caractere

Constante de caractere é escrita entre aspas simples, por exemplo, 'x', e pode ser armazenada em uma variável do tipo caractere simples. Uma constante de caractere pode ser um caractere normal (por exemplo, 'x'), uma sequência de escape (por exemplo, '\t') ou um caractere universal (por exemplo, '\u0)2C0')

No C#, alguns caracteres têm significado especial quando precedidos por um backslash, como para representar nova linha (\n) ou tabulação tab (\t). Aqui estão algumas sequências de escape:

Sequência de escapeSignificado
\\\Caractere \
\'Caractere '
\"Caractere "
\?Caractere ?
\aAlerta ou bell
\bTecla de backspace (Backspace)
\fCaractere de feed de página (Form feed)
\nCaractere de nova linha (Newline)
\rCarriage return
\tTabulação horizontal tab
\vTabulação vertical tab
\oooUm a três dígitos em octal
\xhh . . .Um ou mais números em hexadecimal

A seguir estão alguns exemplos de sequências de escape:

namespace EscapeChar
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello\tWorld\n\n");
            Console.ReadLine();
        }
    }
}

Quando o código acima for compilado e executado, ele produzirá o seguinte resultado:

Hello	World

Constantes de string

Constantes de string são delimitadas por aspas duplas "" ou por @"". As constantes de string contêm caracteres semelhantes aos caracteres de constante, podem ser: caracteres normais, sequências de escape e caracteres de caracteres

Quando se usa constantes de string, pode-se dividir uma linha longa em várias linhas, usando espaços para separar as partes.

Aqui estão alguns exemplos de constantes de string. As formas listadas a seguir representam o mesmo string.

string a = "hello, world";                  // hello, world
string b = @"hello, world";               // hello, world
string c = "hello 	 world";               // hello		world
string d = @"hello 	 world";               // hello 	 world
string e = "Joe said \      // Joe said "Hello" to me
string f = @"Joe said ""Hello"" to me";   // Joe said "Hello" to me
string g = "\\\\server\\share\\file.txt";   // \\server\share\file.txt
string h = @"\\server\share\file.txt";      // \\server\share\file.txt
string i = "one
two
three";
string j = @"one
two
three";

definir constante

Constantes são definidas usando const A sintaxe para definir uma constante é a seguinte:

const <data_type> <constant_name> = value;

O código a seguir demonstra como definir e usar constantes em um programa:

Exemplo Online

using System;
public class ConstTest 
{
    class SampleClass
    {
        public int x;
        public int y;
        public const int c1 = 5;
        public const int c2 = c1 + 5;
        public class SampleClass(int p1, int p2) 
        {
            x = p1; 
            y = p2;
        }
    }
    static void Main()
    {
        SampleClass mC = new SampleClass(11, 22);
        Console.WriteLine("x = {0}, y = {1}
        Console.WriteLine("c1 = {0}, c2 = {1} 
                          SampleClass.c1, SampleClass.c2);
    }
}

Quando o código acima for compilado e executado, ele produzirá o seguinte resultado:

x = 11, y = 22
c1 = 5, c2 = 10