Obsah:
Definice - Co znamená Constant?
V kontextu C # je konstanta typ pole nebo lokální proměnné, jejíž hodnota je nastavena v době kompilace a během běhu ji nelze nikdy změnit. Podobá se proměnné tím, že má jméno, hodnotu a umístění v paměti. Od proměnné se však liší tím, že se v aplikaci inicializuje pouze jednou. Konstanta je deklarována pomocí klíčového slova "const".
Proměnné vestavěného typu, s výjimkou System.Object, jehož neměnná hodnota je známa v době kompilace, lze deklarovat jako konstanty. Během kompilace je konstantní hodnota kompilátorem nahrazena doslovnou hodnotou do kódu přechodného jazyka. Výsledkem je lepší integrita aplikace snížením náhodných chyb. Použití konstant také zlepšuje výkon oproti běžným proměnným. Vylepšuje čitelnost kódu a poskytuje lepší údržbu, protože před opětovnou kompilací softwaru je snazší aktualizovat konstantní hodnotu na jednom místě.
Techopedia vysvětluje Constant
Konstanta má následující charakteristiky nebo musí dodržovat následující pravidla:
- Jedna nebo více konstant daného typu může být deklarována v jediném prohlášení.
- Konstanta může být jakéhokoli typu, jako je například sbyte, byte, krátký, usort, int, uint, long, ulong, char, float, double, decimal, bool, string, enum-type, nebo reference type.
- Typ konstanty by měl být alespoň stejně přístupný jako samotná konstanta.
- Konstanta může záviset na jiných konstantách, pokud závislosti nejsou kruhové povahy.
- Konstanta nemůže být použita pro metodu, vlastnost nebo událost.
- Konstanta nemůže být uživatelem definovaných typů, jako je třída, struktura a pole.
- Při deklaraci konstanty nelze použít statický modifikátor.
- Přiřazení již přiřazené konstantní proměnné za běhu vede k chybě kompilace.
- Protože s konstantou za běhu není přidružena žádná adresa, nelze ji předat odkazem a ve výrazu se nemůže zobrazit jako hodnota l.
- Konstanta může být použita s modifikátory přístupu, jako jsou veřejné, soukromé, chráněné, interní nebo chráněné interní.
- Konstantní prohlášení učiněná na úrovni třídy jsou uložena v metadatech sestavy.
Mezi nejlepší postupy při používání konstant patří:
- Během deklarace je třeba inicializovat konstanty.
- Konstanty se používají se smysluplnými jmény, protože představují zvláštní hodnoty.
- Pro definování více neintegrálních / integrálních konstant lze pro jejich seskupení použít jednu statickou třídu (obsahující proměnné konstantních členů).
- Rozsah konstantní proměnné je omezen na jednu sestavu, třídu nebo metodu. Proto při odkazování konstantních hodnot definovaných v jiných sestavách musí být před kompilací závislé sestavy překompilován pro jakoukoli změnu.
Konstanta se liší od readonly proměnné v tom, že první musí být inicializován během deklarace a je statický, zatímco druhý může být inicializován během deklarace nebo kdykoli (jako v konstruktoru tak, aby měl různé hodnoty založené na typu konstruktoru) ). Konstanta se tedy nazývá konstanta kompilace a proměnná typu readonly je runtime konstanta.
Tato definice byla napsána v kontextu C #