Sdílet prostřednictvím


long (Referenční dokumentace jazyka C#)

long Klíčové slovo označuje integrálního typu, který ukládá hodnoty podle velikosti a oblasti, které jsou uvedeny v následující tabulce.

Type

Rozsah

Size

typ .NET Framework

long

–9, 223 372, 036, 854, 775 808: 9,223,372,036,854,775,807

64Bitové celé číslo se znaménkem

Int64

Literály

Můžete deklarovat a inicializovat long proměnné následujícím způsobem:

long long1 = 4294967296;

Po celé literálu nemá žádnou příponu, jeho typ je první z těchto typů, ve kterých lze znázornit jeho hodnota: int, uint, long, ulong.V předchozím příkladu je typu long protože přesahuje rozsah uint (viz Tabulka celočíselných typů (Referenční dokumentace jazyka C#) pro velikosti úložiště nedílnou typů).

Můžete také použít příponu l s long typu, například takto:

long long2 = 4294967296L;

Při použití přípona l typ Celočíselný literál je určena buď se long nebo ulong podle své velikosti.V případě je long protože je menší než rozsah ulong.

Běžné použití přípony je volání metod přetížené.Zvažte například následující přetížení metody, které používají long a int parametry:

public static void SampleMethod(int i) {}
public static void SampleMethod(long l) {}

Pomocí přípony l zaručuje, že správný typ je názvem, například:

SampleMethod(5);    // Calling the method with the int parameter
SampleMethod(5L);   // Calling the method with the long parameter

Můžete použít long typu s jinými typy číselných nedílnou ve stejném výrazu, ve kterém je případ výraz vyhodnocen jako long (nebo bool z relačních nebo logické výrazy).Například následující výraz vyhodnocen jako long:

898L + 88

[!POZNÁMKA]

Malé písmeno "l" můžete také použít jako příponu.Však toto upozornění kompilátoru generuje protože písmeno "l" snadno zaměnit číslici 1." Z důvodu srozumitelnosti použijte "L".

Informace o aritmetické výrazy s typy nedílnou a smíšené typy s plovoucí desetinnou čárkou, viz plovoucí a dvojité.

Převody

Existuje předdefinované implicitní převod z long na plovoucí, dvojité, nebo desetinné.Jinak se musí použít osazení.Následující příkaz například vytvoří bez explicitní přetypování došlo k chybě kompilace:

int x = 8L;        // Error: no implicit conversion from long to int
int x = (int)8L;   // OK: explicit conversion to int

Existuje předdefinované implicitní převod z sbyte, bajt, krátké, ushort, int, uint, nebo char na long.

Všimněte si také, že je implicitní převod z typů s plovoucí desetinnou čárkou pro long.Například následující příkaz vygeneruje chybu kompilátoru Pokud explicitní cast:

long x = 3.0;         // Error: no implicit conversion from double
long y = (long)3.0;   // OK: explicit conversion

Specifikace jazyka C#

Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.

Viz také

Referenční dokumentace

Klíčová slova jazyka C#

Tabulka celočíselných typů (Referenční dokumentace jazyka C#)

Tabulka předdefinovaných typů (Referenční dokumentace jazyka C#)

Tabulka implicitních číselných převodů (Referenční dokumentace jazyka C#)

Tabulka explicitních číselných převodů (Referenční dokumentace jazyka C#)

Int64

Koncepty

Průvodce programováním v C#

Další zdroje

Referenční dokumentace jazyka C#