C # - stałe i literały
Stałe odnoszą się do stałych wartości, których program nie może zmieniać podczas wykonywania. Te ustalone wartości są również nazywane literałami. Stałe mogą mieć dowolny z podstawowych typów danych, takich jak stała całkowita, stała zmiennoprzecinkowa, stała znakowa lub literał ciągu. Istnieją również stałe wyliczeniowe.
Stałe są traktowane tak jak zwykłe zmienne, z tym wyjątkiem, że ich wartości nie mogą być modyfikowane po ich definicji.
Literały całkowite
Literał liczby całkowitej może być stałą dziesiętną lub szesnastkową. Prefiks określa podstawę lub podstawę: 0x lub 0X dla szesnastkowej i nie ma identyfikatora prefiksu dla dziesiętnych.
Literał liczby całkowitej może również mieć sufiks będący kombinacją U i L, odpowiednio dla unsigned i long. Sufiks może być pisany wielką lub małą literą i może mieć dowolną kolejność.
Oto kilka przykładów literałów całkowitych -
212 /* Legal */
215u /* Legal */
0xFeeL /* Legal */
Poniżej znajdują się inne przykłady różnych typów literałów całkowitych -
85 /* decimal */
0x4b /* hexadecimal */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */
Literały zmiennoprzecinkowe
Literał zmiennoprzecinkowy ma część całkowitą, przecinek dziesiętny, część ułamkową i część wykładniczą. Literały zmiennoprzecinkowe można przedstawić w postaci dziesiętnej lub wykładniczej.
Oto kilka przykładów literałów zmiennoprzecinkowych -
3.14159 /* Legal */
314159E-5F /* Legal */
510E /* Illegal: incomplete exponent */
210f /* Illegal: no decimal or exponent */
.e55 /* Illegal: missing integer or fraction */
Przedstawiając w formie dziesiętnej, musisz uwzględnić kropkę dziesiętną, wykładnik lub oba; i podczas przedstawiania przy użyciu formy wykładniczej należy uwzględnić część całkowitą, część ułamkową lub obie. Podpisany wykładnik jest wprowadzany przez e lub E.
Stałe znaku
Literały znakowe są ujęte w pojedyncze cudzysłowy. Na przykład „x” i może być przechowywane w prostej zmiennej typu char. Literał znakowy może być zwykłym znakiem (np. „X”), sekwencją ucieczki (np. „\ T”) lub znakiem uniwersalnym (np. „\ U02C0”).
Istnieją pewne znaki w języku C #, które są poprzedzone ukośnikiem odwrotnym. Mają specjalne znaczenie i są używane do reprezentacji jak nowa linia (\ n) lub tabulacja (\ t). Oto lista niektórych z takich kodów sekwencji ucieczki -
Sekwencja ewakuacyjna | Znaczenie |
---|---|
\\ | \ postać |
\ ' | ' postać |
\ " | " postać |
\? | ? postać |
\za | Alert lub dzwonek |
\b | Backspace |
\fa | Form feed |
\ n | Nowa linia |
\ r | Powrót karetki |
\ t | Zakładka pozioma |
\ v | Zakładka pionowa |
\ xhh. . . | Liczba szesnastkowa składająca się z jednej lub więcej cyfr |
Poniżej znajduje się przykład pokazujący kilka znaków sekwencji sterującej -
using System;
namespace EscapeChar {
class Program {
static void Main(string[] args) {
Console.WriteLine("Hello\tWorld\n\n");
Console.ReadLine();
}
}
}
Kiedy powyższy kod jest kompilowany i wykonywany, daje następujący wynik -
Hello World
Literały strunowe
Literały łańcuchowe lub stałe są ujęte w podwójne cudzysłowy „” lub za pomocą @ „”. Ciąg zawiera znaki podobne do literałów znakowych: zwykłe znaki, sekwencje ucieczki i znaki uniwersalne.
Możesz podzielić długi wiersz na wiele wierszy, używając literałów łańcuchowych i oddzielając części za pomocą białych znaków.
Oto kilka przykładów literałów ciągów. Wszystkie trzy formy są identycznymi ciągami.
"hello, dear"
"hello, \
dear"
"hello, " "d" "ear"
@"hello dear"
Definiowanie stałych
Stałe są definiowane przy użyciu constsłowo kluczowe. Składnia do definiowania stałej to -
const <data_type> <constant_name> = value;
Poniższy program demonstruje definiowanie i używanie stałej w programie -
using System;
namespace DeclaringConstants {
class Program {
static void Main(string[] args) {
const double pi = 3.14159;
// constant declaration
double r;
Console.WriteLine("Enter Radius: ");
r = Convert.ToDouble(Console.ReadLine());
double areaCircle = pi * r * r;
Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle);
Console.ReadLine();
}
}
}
Kiedy powyższy kod jest kompilowany i wykonywany, daje następujący wynik -
Enter Radius:
3
Radius: 3, Area: 28.27431