標識符
可如下例所示聲明並初始化 long 類型的變數:
複製代碼
long long1 = 4294967296;如果整數沒有後綴,則其類型為以下類型中可表示其值的第一個類型:int、uint、long、ulong。在上例中,它是 long 類型,因為它超出了 uint 的範圍(有關整型的存儲大小,請參見整型表(C# 參考))。
還可以像下面這樣,在 long 類型中使用後綴 L:
複製代碼
long long2 = 4294967296L;當使用後綴 L 時,將根據整數的大小確定它的類型為 long 還是 ulong。在此例中,它是 long,因為它小於 ulong 的範圍的下限。
此後綴常用於調用重載方法。以下面使用 long 和 int 參數的重載方法為例:
複製代碼
public static void SampleMethod(int i) {}
public static void SampleMethod(long l) {}使用後綴 L 可保證調用正確的類型,例如:
複製代碼
SampleMethod(5); // Calling the method with the int parameter
SampleMethod(5L); // Calling the method with the long parameter可在同一個表達式中同時使用 long 類型和其他數值整型,這時表達式的計算結果為 long(在關係表達式或布爾表達式中為 bool)類型。例如,下列表達式計算為 long:
複製代碼
898L + 88注意
也可用小寫字母“l”作後綴。但是,因為字母“l”容易與數字“1”混淆,會生成編譯器警告。為清楚起見,請使用“L”。
有關兼用浮點型和整型的算術表達式的信息,請參見 float 和 double。
轉換
存在從 long 到 float、double 或 decimal 的預定義隱式轉換。其他情況下必須使用顯式轉換。例如,不使用顯式類型轉換時,下列語句將產生編譯錯誤:
複製代碼
int x = 8L; // Error: no implicit conversion from long to int
int x = (int)8L; // OK: explicit conversion to int存在從 sbyte、byte、short、ushort、int、uint 或 char 到 long 的預定義隱式轉換。
還請注意,不存在從浮點型到 long 類型的隱式轉換。例如,除非使用顯式強制轉換,否則以下語句將生成一個編譯器錯誤:
複製代碼
long x = 3.0; // Error: no implicit conversion from double
long y = (long)3.0; // OK: explicit conversion
Long數據類型--Visual Basic 2008 參考
保存 32 位(4位元組)有符號整數。
用於保存超出 Integer 類型範圍的整數。默認值 0。在 6.0 以前版本中,是 32 位的。
其可以轉換為 Single、Double、Decimal 而不會溢出。
在文本(如 2.5,3)後追加類型字元“L”將會將其強制轉換為 Long,其標示符類型字元為“&”。
Long 對應於 .NET 的類型為 System. Int64 結構。
備註
.NET 具有 Ulong數據類型,用於存儲無符號的 64 位整數。