Int64 Структура

Определение

Представляет 64-разрядное целое число со знаком.

public value class long : IComparable, IComparable<long>, IConvertible, IEquatable<long>, IFormattable
public value class long : IComparable<long>, IConvertible, IEquatable<long>, IParsable<long>, ISpanParsable<long>, IUtf8SpanParsable<long>, System::Numerics::IAdditionOperators<long, long, long>, System::Numerics::IAdditiveIdentity<long, long>, System::Numerics::IBinaryInteger<long>, System::Numerics::IBinaryNumber<long>, System::Numerics::IBitwiseOperators<long, long, long>, System::Numerics::IComparisonOperators<long, long, bool>, System::Numerics::IDecrementOperators<long>, System::Numerics::IDivisionOperators<long, long, long>, System::Numerics::IEqualityOperators<long, long, bool>, System::Numerics::IIncrementOperators<long>, System::Numerics::IMinMaxValue<long>, System::Numerics::IModulusOperators<long, long, long>, System::Numerics::IMultiplicativeIdentity<long, long>, System::Numerics::IMultiplyOperators<long, long, long>, System::Numerics::INumber<long>, System::Numerics::INumberBase<long>, System::Numerics::IShiftOperators<long, int, long>, System::Numerics::ISignedNumber<long>, System::Numerics::ISubtractionOperators<long, long, long>, System::Numerics::IUnaryNegationOperators<long, long>, System::Numerics::IUnaryPlusOperators<long, long>
public value class long : IComparable, IComparable<long>, IConvertible, IEquatable<long>, ISpanFormattable
public value class long : IComparable<long>, IConvertible, IEquatable<long>, IParsable<long>, ISpanParsable<long>, System::Numerics::IAdditionOperators<long, long, long>, System::Numerics::IAdditiveIdentity<long, long>, System::Numerics::IBinaryInteger<long>, System::Numerics::IBinaryNumber<long>, System::Numerics::IBitwiseOperators<long, long, long>, System::Numerics::IComparisonOperators<long, long, bool>, System::Numerics::IDecrementOperators<long>, System::Numerics::IDivisionOperators<long, long, long>, System::Numerics::IEqualityOperators<long, long, bool>, System::Numerics::IIncrementOperators<long>, System::Numerics::IMinMaxValue<long>, System::Numerics::IModulusOperators<long, long, long>, System::Numerics::IMultiplicativeIdentity<long, long>, System::Numerics::IMultiplyOperators<long, long, long>, System::Numerics::INumber<long>, System::Numerics::INumberBase<long>, System::Numerics::IShiftOperators<long, int, long>, System::Numerics::ISignedNumber<long>, System::Numerics::ISubtractionOperators<long, long, long>, System::Numerics::IUnaryNegationOperators<long, long>, System::Numerics::IUnaryPlusOperators<long, long>
public value class long : IComparable, IConvertible, IFormattable
public value class long : IComparable, IComparable<long>, IEquatable<long>, IFormattable
public struct Int64 : IComparable, IComparable<long>, IConvertible, IEquatable<long>, IFormattable
public readonly struct Int64 : IComparable<long>, IConvertible, IEquatable<long>, IParsable<long>, ISpanParsable<long>, IUtf8SpanParsable<long>, System.Numerics.IAdditionOperators<long,long,long>, System.Numerics.IAdditiveIdentity<long,long>, System.Numerics.IBinaryInteger<long>, System.Numerics.IBinaryNumber<long>, System.Numerics.IBitwiseOperators<long,long,long>, System.Numerics.IComparisonOperators<long,long,bool>, System.Numerics.IDecrementOperators<long>, System.Numerics.IDivisionOperators<long,long,long>, System.Numerics.IEqualityOperators<long,long,bool>, System.Numerics.IIncrementOperators<long>, System.Numerics.IMinMaxValue<long>, System.Numerics.IModulusOperators<long,long,long>, System.Numerics.IMultiplicativeIdentity<long,long>, System.Numerics.IMultiplyOperators<long,long,long>, System.Numerics.INumber<long>, System.Numerics.INumberBase<long>, System.Numerics.IShiftOperators<long,int,long>, System.Numerics.ISignedNumber<long>, System.Numerics.ISubtractionOperators<long,long,long>, System.Numerics.IUnaryNegationOperators<long,long>, System.Numerics.IUnaryPlusOperators<long,long>
public readonly struct Int64 : IComparable, IComparable<long>, IConvertible, IEquatable<long>, IFormattable
public readonly struct Int64 : IComparable, IComparable<long>, IConvertible, IEquatable<long>, ISpanFormattable
public readonly struct Int64 : IComparable<long>, IConvertible, IEquatable<long>, IParsable<long>, ISpanParsable<long>, System.Numerics.IAdditionOperators<long,long,long>, System.Numerics.IAdditiveIdentity<long,long>, System.Numerics.IBinaryInteger<long>, System.Numerics.IBinaryNumber<long>, System.Numerics.IBitwiseOperators<long,long,long>, System.Numerics.IComparisonOperators<long,long,bool>, System.Numerics.IDecrementOperators<long>, System.Numerics.IDivisionOperators<long,long,long>, System.Numerics.IEqualityOperators<long,long,bool>, System.Numerics.IIncrementOperators<long>, System.Numerics.IMinMaxValue<long>, System.Numerics.IModulusOperators<long,long,long>, System.Numerics.IMultiplicativeIdentity<long,long>, System.Numerics.IMultiplyOperators<long,long,long>, System.Numerics.INumber<long>, System.Numerics.INumberBase<long>, System.Numerics.IShiftOperators<long,int,long>, System.Numerics.ISignedNumber<long>, System.Numerics.ISubtractionOperators<long,long,long>, System.Numerics.IUnaryNegationOperators<long,long>, System.Numerics.IUnaryPlusOperators<long,long>
[System.Serializable]
public struct Int64 : IComparable, IConvertible, IFormattable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct Int64 : IComparable, IComparable<long>, IConvertible, IEquatable<long>, IFormattable
public struct Int64 : IComparable, IComparable<long>, IEquatable<long>, IFormattable
type int64 = struct
    interface IConvertible
    interface IFormattable
type int64 = struct
    interface IConvertible
    interface IFormattable
    interface IParsable<int64>
    interface ISpanFormattable
    interface ISpanParsable<int64>
    interface IUtf8SpanFormattable
    interface IUtf8SpanParsable<int64>
    interface IAdditionOperators<int64, int64, int64>
    interface IAdditiveIdentity<int64, int64>
    interface IBinaryInteger<int64>
    interface IBinaryNumber<int64>
    interface IBitwiseOperators<int64, int64, int64>
    interface IComparisonOperators<int64, int64, bool>
    interface IEqualityOperators<int64, int64, bool>
    interface IDecrementOperators<int64>
    interface IDivisionOperators<int64, int64, int64>
    interface IIncrementOperators<int64>
    interface IModulusOperators<int64, int64, int64>
    interface IMultiplicativeIdentity<int64, int64>
    interface IMultiplyOperators<int64, int64, int64>
    interface INumber<int64>
    interface INumberBase<int64>
    interface ISubtractionOperators<int64, int64, int64>
    interface IUnaryNegationOperators<int64, int64>
    interface IUnaryPlusOperators<int64, int64>
    interface IShiftOperators<int64, int, int64>
    interface IMinMaxValue<int64>
    interface ISignedNumber<int64>
type int64 = struct
    interface IConvertible
    interface ISpanFormattable
    interface IFormattable
type int64 = struct
    interface IConvertible
    interface IFormattable
    interface IParsable<int64>
    interface ISpanFormattable
    interface ISpanParsable<int64>
    interface IAdditionOperators<int64, int64, int64>
    interface IAdditiveIdentity<int64, int64>
    interface IBinaryInteger<int64>
    interface IBinaryNumber<int64>
    interface IBitwiseOperators<int64, int64, int64>
    interface IComparisonOperators<int64, int64, bool>
    interface IEqualityOperators<int64, int64, bool>
    interface IDecrementOperators<int64>
    interface IDivisionOperators<int64, int64, int64>
    interface IIncrementOperators<int64>
    interface IModulusOperators<int64, int64, int64>
    interface IMultiplicativeIdentity<int64, int64>
    interface IMultiplyOperators<int64, int64, int64>
    interface INumber<int64>
    interface INumberBase<int64>
    interface ISubtractionOperators<int64, int64, int64>
    interface IUnaryNegationOperators<int64, int64>
    interface IUnaryPlusOperators<int64, int64>
    interface IShiftOperators<int64, int, int64>
    interface IMinMaxValue<int64>
    interface ISignedNumber<int64>
type int64 = struct
    interface IConvertible
    interface IFormattable
    interface IParsable<int64>
    interface ISpanFormattable
    interface ISpanParsable<int64>
    interface IAdditionOperators<int64, int64, int64>
    interface IAdditiveIdentity<int64, int64>
    interface IBinaryInteger<int64>
    interface IBinaryNumber<int64>
    interface IBitwiseOperators<int64, int64, int64>
    interface IComparisonOperators<int64, int64, bool>
    interface IEqualityOperators<int64, int64, bool>
    interface IDecrementOperators<int64>
    interface IDivisionOperators<int64, int64, int64>
    interface IIncrementOperators<int64>
    interface IModulusOperators<int64, int64, int64>
    interface IMultiplicativeIdentity<int64, int64>
    interface IMultiplyOperators<int64, int64, int64>
    interface INumber<int64>
    interface INumberBase<int64>
    interface ISubtractionOperators<int64, int64, int64>
    interface IUnaryNegationOperators<int64, int64>
    interface IUnaryPlusOperators<int64, int64>
    interface IUtf8SpanFormattable
    interface IUtf8SpanParsable<int64>
    interface IShiftOperators<int64, int, int64>
    interface IMinMaxValue<int64>
    interface ISignedNumber<int64>
[<System.Serializable>]
type int64 = struct
    interface IFormattable
    interface IConvertible
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type int64 = struct
    interface IFormattable
    interface IConvertible
type int64 = struct
    interface IFormattable
Public Structure Int64
Implements IComparable, IComparable(Of Long), IConvertible, IEquatable(Of Long), IFormattable
Public Structure Int64
Implements IAdditionOperators(Of Long, Long, Long), IAdditiveIdentity(Of Long, Long), IBinaryInteger(Of Long), IBinaryNumber(Of Long), IBitwiseOperators(Of Long, Long, Long), IComparable(Of Long), IComparisonOperators(Of Long, Long, Boolean), IConvertible, IDecrementOperators(Of Long), IDivisionOperators(Of Long, Long, Long), IEqualityOperators(Of Long, Long, Boolean), IEquatable(Of Long), IIncrementOperators(Of Long), IMinMaxValue(Of Long), IModulusOperators(Of Long, Long, Long), IMultiplicativeIdentity(Of Long, Long), IMultiplyOperators(Of Long, Long, Long), INumber(Of Long), INumberBase(Of Long), IParsable(Of Long), IShiftOperators(Of Long, Integer, Long), ISignedNumber(Of Long), ISpanParsable(Of Long), ISubtractionOperators(Of Long, Long, Long), IUnaryNegationOperators(Of Long, Long), IUnaryPlusOperators(Of Long, Long), IUtf8SpanParsable(Of Long)
Public Structure Int64
Implements IComparable, IComparable(Of Long), IConvertible, IEquatable(Of Long), ISpanFormattable
Public Structure Int64
Implements IAdditionOperators(Of Long, Long, Long), IAdditiveIdentity(Of Long, Long), IBinaryInteger(Of Long), IBinaryNumber(Of Long), IBitwiseOperators(Of Long, Long, Long), IComparable(Of Long), IComparisonOperators(Of Long, Long, Boolean), IConvertible, IDecrementOperators(Of Long), IDivisionOperators(Of Long, Long, Long), IEqualityOperators(Of Long, Long, Boolean), IEquatable(Of Long), IIncrementOperators(Of Long), IMinMaxValue(Of Long), IModulusOperators(Of Long, Long, Long), IMultiplicativeIdentity(Of Long, Long), IMultiplyOperators(Of Long, Long, Long), INumber(Of Long), INumberBase(Of Long), IParsable(Of Long), IShiftOperators(Of Long, Integer, Long), ISignedNumber(Of Long), ISpanParsable(Of Long), ISubtractionOperators(Of Long, Long, Long), IUnaryNegationOperators(Of Long, Long), IUnaryPlusOperators(Of Long, Long)
Public Structure Int64
Implements IComparable, IConvertible, IFormattable
Public Structure Int64
Implements IComparable, IComparable(Of Long), IEquatable(Of Long), IFormattable
Наследование
Атрибуты
Реализации
IComparable IComparable<Int64> IConvertible IEquatable<Int64> IFormattable IComparable<TSelf> IEquatable<TSelf> IParsable<Int64> IParsable<TSelf> ISpanFormattable ISpanParsable<Int64> ISpanParsable<TSelf> IUtf8SpanFormattable IUtf8SpanParsable<Int64> IUtf8SpanParsable<TSelf> IAdditionOperators<Int64,Int64,Int64> IAdditionOperators<TSelf,TSelf,TSelf> IAdditiveIdentity<Int64,Int64> IAdditiveIdentity<TSelf,TSelf> IBinaryInteger<Int64> IBinaryNumber<Int64> IBinaryNumber<TSelf> IBitwiseOperators<Int64,Int64,Int64> IBitwiseOperators<TSelf,TSelf,TSelf> IComparisonOperators<Int64,Int64,Boolean> IComparisonOperators<TSelf,TSelf,Boolean> IDecrementOperators<Int64> IDecrementOperators<TSelf> IDivisionOperators<Int64,Int64,Int64> IDivisionOperators<TSelf,TSelf,TSelf> IEqualityOperators<Int64,Int64,Boolean> IEqualityOperators<TSelf,TOther,TResult> IEqualityOperators<TSelf,TSelf,Boolean> IIncrementOperators<Int64> IIncrementOperators<TSelf> IMinMaxValue<Int64> IModulusOperators<Int64,Int64,Int64> IModulusOperators<TSelf,TSelf,TSelf> IMultiplicativeIdentity<Int64,Int64> IMultiplicativeIdentity<TSelf,TSelf> IMultiplyOperators<Int64,Int64,Int64> IMultiplyOperators<TSelf,TSelf,TSelf> INumber<Int64> INumber<TSelf> INumberBase<Int64> INumberBase<TSelf> IShiftOperators<Int64,Int32,Int64> IShiftOperators<TSelf,Int32,TSelf> ISignedNumber<Int64> ISubtractionOperators<Int64,Int64,Int64> ISubtractionOperators<TSelf,TSelf,TSelf> IUnaryNegationOperators<Int64,Int64> IUnaryNegationOperators<TSelf,TSelf> IUnaryPlusOperators<Int64,Int64> IUnaryPlusOperators<TSelf,TSelf>

Комментарии

Int64 — это неизменяемый тип значения, представляющий целые числа со знаком со значениями, которые варьируются от отрицательных 9223 372 036 854 775 808 (который представлен Int64.MinValue константой) до положительных 9 223 372 036 854 775 807 (который представлен Int64.MaxValue константой). .NET также включает 64-разрядный целочисленный тип без знака, UInt64который представляет значения, которые варьируются от 0 до 18 446 744 073 709 551 615.

Создание экземпляра значения Int64

Создать экземпляр Int64 значения можно несколькими способами:

  • Можно объявить Int64 переменную и назначить ей литеральное целочисленное значение, которое находится в диапазоне Int64 типа данных. В следующем примере объявляется две переменные Int64 и присваивают им значения таким образом.

    long number1 = -64301728;
    long number2 = 255486129307;
    
    let number1 = -64301728L
    let number2 = 255486129307L
    
    Dim number1 As Long = -64301728
    Dim number2 As Long = 255486129307
    
  • Можно назначить значение целочисленного типа, диапазон которого является подмножеством Int64 типа. Это расширяющее преобразование, которое не требует оператора преобразования в C# или метода преобразования в Visual Basic. В F# только этот Int32 тип можно автоматически расширить.

    sbyte value1 = 124;
    short value2 = 1618;
    int value3 = Int32.MaxValue;
    
    long number1 = value1;
    long number2 = value2;
    long number3 = value3;
    
    let value1 = 124y
    let value2 = 1618s
    let value3 = Int32.MaxValue
    
    let number1 = int64 value1
    let number2 = int64 value2
    let number3: int64 = value3
    
    Dim value1 As SByte = 124
    Dim value2 As Int16 = 1618
    Dim value3 As Int32 = Int32.MaxValue
    
    Dim number1 As Long = value1
    Dim number2 As Long = value2
    Dim number3 As Long = value3
    
  • Можно присвоить значение числового типа, диапазон которого превышает диапазон типа Int64. Это сужающее преобразование, поэтому для этого требуется оператор приведения в C# или F# и метод преобразования в Visual Basic, если Option Strict он включен. Если числовое значение имеет Singleзначение или DoubleDecimal значение, которое включает дробный компонент, обработка его дробной части зависит от компилятора, выполняющего преобразование. В следующем примере выполняются сужающие преобразования для назначения нескольких числовых значений Int64 переменным.

    ulong ulNumber = 163245617943825;
    try {
       long number1 = (long) ulNumber;
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine($"{ulNumber} is out of range of an Int64.");
    }
    
    double dbl2 = 35901.997;
    try {
       long number2 = (long) dbl2;
       Console.WriteLine(number2);
    }
    catch (OverflowException) {
       Console.WriteLine($"{dbl2} is out of range of an Int64.");
    }
    
    BigInteger bigNumber = (BigInteger) 1.63201978555e30;
    try {
       long number3 = (long) bigNumber;
       Console.WriteLine(number3);
    }
    catch (OverflowException) {
       Console.WriteLine($"{bigNumber} is out of range of an Int64.");
    }
    // The example displays the following output:
    //    163245617943825
    //    35902
    //    1,632,019,785,549,999,969,612,091,883,520 is out of range of an Int64.
    
    let ulNumber = 163245617943825uL
    try
        let number1 = int64 ulNumber
        printfn $"{number1}"
    with :? OverflowException ->
        printfn $"{ulNumber} is out of range of an Int64."
    
    let dbl2 = 35901.997
    try
        let number2 = int64 dbl2
        printfn $"{number2}"
    with :? OverflowException ->
        printfn $"{dbl2} is out of range of an Int64."
    
    let bigNumber = BigInteger 1.63201978555e30
    try
        let number3 = int64 bigNumber
        printfn $"{number3}"
    with :? OverflowException ->
        printfn $"{bigNumber} is out of range of an Int64."
    
    // The example displays the following output:
    //    163245617943825
    //    35902
    //    1,632,019,785,549,999,969,612,091,883,520 is out of range of an Int64.
    
    Dim ulNumber As ULong = 163245617943825
    Try
       Dim number1 As Long = CLng(ulNumber)
       Console.WriteLine(number1)
    Catch e As OverflowException
       Console.WriteLine("{0} is out of range of an Int64.", ulNumber)
    End Try
    
    Dim dbl2 As Double = 35901.997
    Try
       Dim number2 As Long = CLng(dbl2)
       Console.WriteLine(number2)
    Catch e As OverflowException
       Console.WriteLine("{0} is out of range of an Int64.", dbl2)
    End Try
       
    Dim bigNumber As BigInteger = 1.63201978555e30
    Try
       Dim number3 As Long = CLng(bigNumber)
       Console.WriteLine(number3)
    Catch e As OverflowException
       Console.WriteLine("{0:N0} is out of range of an Int64.", bigNumber)
    End Try    
    ' The example displays the following output:
    '    163245617943825
    '    35902
    '    1,632,019,785,549,999,969,612,091,883,520 is out of range of an Int64.
    
  • Можно вызвать метод Convert класса для преобразования любого поддерживаемого Int64 типа в значение. Это возможно, так как Int64 поддерживает интерфейс IConvertible. Следующий пример иллюстрирует преобразование массива значений Decimal в значения Int64.

    decimal[] values= { Decimal.MinValue, -1034.23m, -12m, 0m, 147m,
                        199.55m, 9214.16m, Decimal.MaxValue };
    long result;
    
    foreach (decimal value in values)
    {
       try {
          result = Convert.ToInt64(value);
          Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                            value.GetType().Name, value,
                            result.GetType().Name, result);
       }
       catch (OverflowException) {
          Console.WriteLine("{0} is outside the range of the Int64 type.",
                            value);
       }
    }
    // The example displays the following output:
    //    -79228162514264337593543950335 is outside the range of the Int64 type.
    //    Converted the Decimal value '-1034.23' to the Int64 value -1034.
    //    Converted the Decimal value '-12' to the Int64 value -12.
    //    Converted the Decimal value '0' to the Int64 value 0.
    //    Converted the Decimal value '147' to the Int64 value 147.
    //    Converted the Decimal value '199.55' to the Int64 value 200.
    //    Converted the Decimal value '9214.16' to the Int64 value 9214.
    //    79228162514264337593543950335 is outside the range of the Int64 type.
    
    let values = 
        [| Decimal.MinValue; -1034.23m; -12m; 0m; 147m
           199.55m; 9214.16m; Decimal.MaxValue |]
    
    for value in values do
        try
            let result = Convert.ToInt64 value
            printfn $"Converted the {value.GetType().Name} value '{value}' to the {result.GetType().Name} value {result}."
        with :? OverflowException ->
            printfn $"{value} is outside the range of the Int64 type."
    // The example displays the following output:
    //    -79228162514264337593543950335 is outside the range of the Int64 type.
    //    Converted the Decimal value '-1034.23' to the Int64 value -1034.
    //    Converted the Decimal value '-12' to the Int64 value -12.
    //    Converted the Decimal value '0' to the Int64 value 0.
    //    Converted the Decimal value '147' to the Int64 value 147.
    //    Converted the Decimal value '199.55' to the Int64 value 200.
    //    Converted the Decimal value '9214.16' to the Int64 value 9214.
    //    79228162514264337593543950335 is outside the range of the Int64 type.
    
    Dim values() As Decimal = { Decimal.MinValue, -1034.23d, -12d, 0d, 147d, _
                                199.55d, 9214.16d, Decimal.MaxValue }
    Dim result As Long
    
    For Each value As Decimal In values
       Try
          result = Convert.ToInt64(value)
          Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", _
                            value.GetType().Name, value, _
                            result.GetType().Name, result)
       Catch e As OverflowException
          Console.WriteLine("{0} is outside the range of the Int64 type.", _
                            value)
       End Try
    Next
    ' The example displays the following output:
    '    -79228162514264337593543950335 is outside the range of the Int64 type.
    '    Converted the Decimal value '-1034.23' to the Int64 value -1034.
    '    Converted the Decimal value '-12' to the Int64 value -12.
    '    Converted the Decimal value '0' to the Int64 value 0.
    '    Converted the Decimal value '147' to the Int64 value 147.
    '    Converted the Decimal value '199.55' to the Int64 value 200.
    '    Converted the Decimal value '9214.16' to the Int64 value 9214.
    '    79228162514264337593543950335 is outside the range of the Int64 type.
    
  • Можно вызвать метод Parse или TryParse для преобразования представления строкового значения Int64 в объект Int64. Строка может содержать десятичные или шестнадцатеричные цифры. В следующем примере показана операция синтаксического анализа с помощью десятичной и шестнадцатеричной строки.

    string string1 = "244681903147";
    try {
       long number1 = Int64.Parse(string1);
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine($"'{string1}' is out of range of a 64-bit integer.");
    }
    catch (FormatException) {
       Console.WriteLine($"The format of '{string1}' is invalid.");
    }
    
    string string2 = "F9A3CFF0A";
    try {
       long number2 = Int64.Parse(string2,
                                  System.Globalization.NumberStyles.HexNumber);
       Console.WriteLine(number2);
    }
    catch (OverflowException) {
       Console.WriteLine($"'{string2}' is out of range of a 64-bit integer.");
    }
    catch (FormatException) {
       Console.WriteLine($"The format of '{string2}' is invalid.");
    }
    // The example displays the following output:
    //    244681903147
    //    67012198154
    
    let string1 = "244681903147"
    try
        let number1 = Int64.Parse string1
        printfn $"{number1}"
    with
    | :? OverflowException ->
        printfn $"'{string1}' is out of range of a 64-bit integer."
    | :? FormatException ->
        printfn $"The format of '{string1}' is invalid."
    
    let string2 = "F9A3CFF0A"
    try
        let number2 = Int64.Parse(string2, NumberStyles.HexNumber)
        printfn $"{number2}"
    
    with
    | :? OverflowException ->
        printfn $"'{string2}' is out of range of a 64-bit integer."
    | :? FormatException ->
        printfn $"The format of '{string2}' is invalid."
    
    // The example displays the following output:
    //    244681903147
    //    67012198154
    
    Dim string1 As String = "244681903147"
    Try
       Dim number1 As Long = Int64.Parse(string1)
       Console.WriteLine(number1)
    Catch e As OverflowException
       Console.WriteLine("'{0}' is out of range of a 64-bit integer.", string1)
    Catch e As FormatException
       Console.WriteLine("The format of '{0}' is invalid.", string1)
    End Try
    
    Dim string2 As String = "F9A3CFF0A"
    Try
       Dim number2 As Long = Int64.Parse(string2,
                                System.Globalization.NumberStyles.HexNumber)
       Console.WriteLine(number2)
    Catch e As OverflowException
       Console.WriteLine("'{0}' is out of range of a 64-bit integer.", string2)
    Catch e As FormatException
       Console.WriteLine("The format of '{0}' is invalid.", string2)
    End Try
    ' The example displays the following output:
    '    244681903147
    '    67012198154
    

Выполнение операций со значениями Int64

Тип Int64 поддерживает стандартные математические операции, такие как добавление, вычитание, деление, умножение, отрицание и унарное отрицание. Как и другие целочисленные типы, тип Int64 также поддерживает побитовые AND, OR, XOR, операторы сдвига влево и вправо.

Стандартные числовые операторы можно использовать для сравнения двух значений Int64 или вызова метода CompareTo или Equals.

Можно также вызвать члены Math класса для выполнения широких числовых операций, включая получение абсолютного значения числа, вычисление кворента и остатка от целого деления, определение максимального или минимального значения двух длинных целых чисел, получение знака числа и округление числа.

Представление int64 в виде строки

Тип Int64 обеспечивает полную поддержку стандартных и пользовательских строк числовых форматов. (Дополнительные сведения см. в разделе "Типы форматирования", "Стандартные числовые строки" и "Строки настраиваемого числового формата".)

Чтобы отформатировать значение как целочисленную Int64 строку без начальных нулей, можно вызвать метод без ToString() параметров. Используя описатель формата "D", можно также включить указанное число начальных нулей в строковое представление. Используя описатель формата N, можно включить разделители групп и указать число десятичных цифр, которые будут отображаться в строковом представлении числа. Используя описатель формата "X", можно представить Int64 значение в виде шестнадцатеричной строки. В следующем примере элементы в массиве значений Int64 форматируется четырьмя способами.

long[] numbers = { -1403, 0, 169, 1483104 };
foreach (var number in numbers)
{
    // Display value using default formatting.
    Console.Write("{0,-8}  -->   ", number.ToString());
    // Display value with 3 digits and leading zeros.
    Console.Write("{0,8:D3}", number);
    // Display value with 1 decimal digit.
    Console.Write("{0,13:N1}", number);
    // Display value as hexadecimal.
    Console.Write("{0,18:X2}", number);
    // Display value with eight hexadecimal digits.
    Console.WriteLine("{0,18:X8}", number);
}
// The example displays the following output:
//    -1403     -->      -1403     -1,403.0  FFFFFFFFFFFFFA85  FFFFFFFFFFFFFA85
//    0         -->        000          0.0                00          00000000
//    169       -->        169        169.0                A9          000000A9
//    1483104   -->    1483104  1,483,104.0            16A160          0016A160
let numbers = [| -1403L; 0L; 169L; 1483104L |]
for number in numbers do
    // Display value using default formatting.
    printf $"{number.ToString(),-8}  -->   "
    // Display value with 3 digits and leading zeros.
    printf $"{number,8:D3}"
    // Display value with 1 decimal digit.
    printf $"{number,13:N1}"
    // Display value as hexadecimal.
    printf $"{number,18:X2}"
    // Display value with eight hexadecimal digits.
    printfn $"{number,18:X8}"

// The example displays the following output:
//    -1403     -->      -1403     -1,403.0  FFFFFFFFFFFFFA85  FFFFFFFFFFFFFA85
//    0         -->        000          0.0                00          00000000
//    169       -->        169        169.0                A9          000000A9
//    1483104   -->    1483104  1,483,104.0            16A160          0016A160
Dim numbers() As Long = { -1403, 0, 169, 1483104 }
For Each number In numbers
   ' Display value using default formatting.
   Console.Write("{0,-8}  -->   ", number.ToString())
   ' Display value with 3 digits and leading zeros.
   Console.Write("{0,8:D3}", number)
   ' Display value with 1 decimal digit.
   Console.Write("{0,13:N1}", number) 
   ' Display value as hexadecimal.
   Console.Write("{0,18:X2}", number)
   ' Display value with eight hexadecimal digits.
   Console.WriteLine("{0,18:X8}", number)
Next   
' The example displays the following output:
'    -1403     -->      -1403     -1,403.0  FFFFFFFFFFFFFA85  FFFFFFFFFFFFFA85
'    0         -->        000          0.0                00          00000000
'    169       -->        169        169.0                A9          000000A9
'    1483104   -->    1483104  1,483,104.0            16A160          0016A160

Можно также отформатировать Int64 значение как двоичную, восьмеричную, десятичную или шестнадцатеричную строку, вызвав ToString(Int64, Int32) метод и указав базу в качестве второго параметра метода. В следующем примере этот метод вызывается для отображения двоичных, восьмимерных и шестнадцатеричных представлений массива целых значений.

long[] numbers = { -146, 11043, 2781913 };
foreach (var number in numbers)
{
    Console.WriteLine($"{number} (Base 10):");
    Console.WriteLine($"   Binary:  {Convert.ToString(number, 2)}");
    Console.WriteLine($"   Octal:   {Convert.ToString(number, 8)}");
    Console.WriteLine($"   Hex:     {Convert.ToString(number, 16)}{Environment.NewLine}");
}
// The example displays the following output:
//    -146 (Base 10):
//       Binary:  1111111111111111111111111111111111111111111111111111111101101110
//       Octal:   1777777777777777777556
//       Hex:     ffffffffffffff6e
//
//    11043 (Base 10):
//       Binary:  10101100100011
//       Octal:   25443
//       Hex:     2b23
//
//    2781913 (Base 10):
//       Binary:  1010100111001011011001
//       Octal:   12471331
//       Hex:     2a72d9
let numbers = [| -146L; 11043L; 2781913L |]
for number in numbers do
    printfn $"{number} (Base 10):"
    printfn $"   Binary:  {Convert.ToString(number, 2)}"
    printfn $"   Octal:   {Convert.ToString(number, 8)}"
    printfn $"   Hex:     {Convert.ToString(number, 16)}\n"

// The example displays the following output:
//    -146 (Base 10):
//       Binary:  1111111111111111111111111111111111111111111111111111111101101110
//       Octal:   1777777777777777777556
//       Hex:     ffffffffffffff6e
//
//    11043 (Base 10):
//       Binary:  10101100100011
//       Octal:   25443
//       Hex:     2b23
//
//    2781913 (Base 10):
//       Binary:  1010100111001011011001
//       Octal:   12471331
//       Hex:     2a72d9
Dim numbers() As Long = { -146, 11043, 2781913 }
For Each number In numbers
   Console.WriteLine("{0} (Base 10):", number)
   Console.WriteLine("   Binary:  {0}", Convert.ToString(number, 2))
   Console.WriteLine("   Octal:   {0}", Convert.ToString(number, 8))
   Console.WriteLine("   Hex:     {0}", Convert.ToString(number, 16))
   Console.WriteLine()
Next      
' The example displays the following output:
'    -146 (Base 10):
'       Binary:  1111111111111111111111111111111111111111111111111111111101101110
'       Octal:   1777777777777777777556
'       Hex:     ffffffffffffff6e
'
'    11043 (Base 10):
'       Binary:  10101100100011
'       Octal:   25443
'       Hex:     2b23
'
'    2781913 (Base 10):
'       Binary:  1010100111001011011001
'       Octal:   12471331
'       Hex:     2a72d9

Работа с 64-разрядными целочисленными значениями без десятичного числа

Помимо работы с отдельными длинными целыми числами в виде десятичных значений, может потребоваться выполнить побитовые операции или работать с двоичными или шестнадцатеричными представлениями длинных целых чисел. Int64 значения представлены в 63 битах с шестьдесят четвертым битом, используемым в качестве бита знака. Положительные значения представлены с помощью представления знака и величины. Отрицательные значения находятся в двухкомплементарном представлении. Это важно учитывать при выполнении побитовых операций с значениями Int64 или при работе с отдельными битами. Для выполнения числовых, логических операций или сравнения для двух не десятичных значений оба значения должны использовать одно и то же представление.

Поля

Имя Описание
MaxValue

Представляет наибольшее возможное значение Int64объекта. Это поле является константой.

MinValue

Представляет наименьшее возможное значение Int64. Это поле является константой.

Методы

Имя Описание
Abs(Int64)

Вычисляет абсолютное значение.

BigMul(Int64, Int64)

Создает полный продукт двух 64-разрядных чисел.

Clamp(Int64, Int64, Int64)

Зацепляет значение к инклюзивному минимальному и максимальному значению.

CompareTo(Int64)

Сравнивает этот экземпляр с указанным 64-разрядным целым числом со знаком и возвращает указание их относительных значений.

CompareTo(Object)

Сравнивает этот экземпляр с указанным объектом и возвращает указание их относительных значений.

CopySign(Int64, Int64)

Копирует знак значения в знак другого значения.

CreateChecked<TOther>(TOther)

Создает экземпляр текущего типа из значения, вызывая исключение переполнения для всех значений, которые выходят за пределы представляющего диапазона текущего типа.

CreateSaturating<TOther>(TOther)

Создает экземпляр текущего типа из значения, насыщая все значения, которые выходят за пределы представляющего диапазона текущего типа.

CreateTruncating<TOther>(TOther)

Создает экземпляр текущего типа из значения, усечение всех значений, которые выходят за пределы представляющего диапазона текущего типа.

DivRem(Int64, Int64)

Вычисляет цитент и оставшуюся часть двух значений.

Equals(Int64)

Возвращает значение, указывающее, равен ли этот экземпляр указанному Int64 значению.

Equals(Object)

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

GetHashCode()

Возвращает хэш-код для этого экземпляра.

GetTypeCode()

TypeCode Возвращает тип Int64значения.

IsEvenInteger(Int64)

Определяет, представляет ли значение даже целочисленное число.

IsNegative(Int64)

Определяет, является ли значение отрицательным.

IsOddInteger(Int64)

Определяет, представляет ли значение нечетное целочисленное число.

IsPositive(Int64)

Определяет, является ли значение положительным.

IsPow2(Int64)

Определяет, является ли значение двумя.

LeadingZeroCount(Int64)

Вычисляет число начальных нулей в значении.

Log10(Int64)

Представляет 64-разрядное целое число со знаком.

Log2(Int64)

Вычисляет журнал 2 значения.

Max(Int64, Int64)

Сравнивает два значения с вычислениями, которые больше.

MaxMagnitude(Int64, Int64)

Сравнивает два значения с вычислениями, которые больше.

Min(Int64, Int64)

Сравнивает два значения с вычислениями, которые меньше.

MinMagnitude(Int64, Int64)

Сравнивает два значения с вычислениями, которые меньше.

Parse(ReadOnlySpan<Byte>, IFormatProvider)

Анализирует диапазон символов UTF-8 в значение.

Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)

Анализирует диапазон символов UTF-8 в значение.

Parse(ReadOnlySpan<Char>, IFormatProvider)

Анализирует диапазон символов в значение.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Преобразует представление диапазона числа в указанном стиле и формате языка и региональных параметров в его 64-разрядное целое число со знаком.

Parse(String, IFormatProvider)

Преобразует строковое представление числа в указанном формате языка и региональных параметров в его 64-разрядное целое число со знаком.

Parse(String, NumberStyles, IFormatProvider)

Преобразует строковое представление числа в указанном стиле и формате языка и региональных параметров в его 64-разрядное целое число со знаком.

Parse(String, NumberStyles)

Преобразует строковое представление числа в указанном стиле в 64-разрядное целое число со знаком.

Parse(String)

Преобразует строковое представление числа в 64-разрядное целое число со знаком.

PopCount(Int64)

Вычисляет количество битов, заданных в значении.

RotateLeft(Int64, Int32)

Поворот значения влево на заданное значение.

RotateRight(Int64, Int32)

Поворот значения вправо по заданному количеству.

Sign(Int64)

Вычисляет знак значения.

ToString()

Преобразует числовое значение этого экземпляра в эквивалентное строковое представление.

ToString(IFormatProvider)

Преобразует числовое значение этого экземпляра в эквивалентное строковое представление, используя указанные сведения о формате, зависящее от языка и региональных параметров.

ToString(String, IFormatProvider)

Преобразует числовое значение этого экземпляра в эквивалентное строковое представление, используя указанный формат и сведения о формате, зависящее от языка и региональных параметров.

ToString(String)

Преобразует числовое значение этого экземпляра в эквивалентное строковое представление, используя указанный формат.

TrailingZeroCount(Int64)

Вычисляет число конечных нулей в значении.

TryFormat(Span<Byte>, Int32, ReadOnlySpan<Char>, IFormatProvider)

Пытается отформатировать значение текущего экземпляра как UTF-8 в предоставленный диапазон байтов.

TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

Пытается отформатировать значение текущего экземпляра длинного числа в предоставленный диапазон символов.

TryParse(ReadOnlySpan<Byte>, IFormatProvider, Int64)

Пытается проанализировать диапазон символов UTF-8 в значение.

TryParse(ReadOnlySpan<Byte>, Int64)

Пытается преобразовать диапазон символов UTF-8, содержащий строковое представление числа в 64-разрядное целое число со знаком.

TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, Int64)

Пытается проанализировать диапазон символов UTF-8 в значение.

TryParse(ReadOnlySpan<Char>, IFormatProvider, Int64)

Пытается проанализировать диапазон символов в значение.

TryParse(ReadOnlySpan<Char>, Int64)

Преобразует представление диапазона числа в 64-разрядное целое число со знаком. Возвращаемое значение указывает, выполнено ли преобразование успешно или завершилось сбоем.

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Int64)

Преобразует представление диапазона числа в указанном стиле и формате языка и региональных параметров в его 64-разрядное целое число со знаком. Возвращаемое значение указывает, выполнено ли преобразование успешно или завершилось сбоем.

TryParse(String, IFormatProvider, Int64)

Пытается проанализировать строку в значение.

TryParse(String, Int64)

Преобразует строковое представление числа в 64-разрядное целое число со знаком. Возвращаемое значение указывает, выполнено ли преобразование успешно или завершилось сбоем.

TryParse(String, NumberStyles, IFormatProvider, Int64)

Преобразует строковое представление числа в указанном стиле и формате языка и региональных параметров в его 64-разрядное целое число со знаком. Возвращаемое значение указывает, выполнено ли преобразование успешно или завершилось сбоем.

Явные реализации интерфейса

Имя Описание
IAdditionOperators<Int64,Int64,Int64>.Addition(Int64, Int64)

Добавляет два значения вместе для вычисления суммы.

IAdditionOperators<Int64,Int64,Int64>.CheckedAddition(Int64, Int64)

Добавляет два значения вместе для вычисления суммы.

IAdditiveIdentity<Int64,Int64>.AdditiveIdentity

Возвращает аддитивное удостоверение текущего типа.

IBinaryInteger<Int64>.GetByteCount()

Возвращает количество байтов, которые будут записываться в составе TryWriteLittleEndian(Span<Byte>, Int32).

IBinaryInteger<Int64>.GetShortestBitLength()

Возвращает длину (в битах) в кратчайшем представлении текущего значения.

IBinaryInteger<Int64>.TryReadBigEndian(ReadOnlySpan<Byte>, Boolean, Int64)

Представляет 64-разрядное целое число со знаком.

IBinaryInteger<Int64>.TryReadLittleEndian(ReadOnlySpan<Byte>, Boolean, Int64)

Представляет 64-разрядное целое число со знаком.

IBinaryInteger<Int64>.TryWriteBigEndian(Span<Byte>, Int32)

Пытается записать текущее значение в формате big-endian в заданный диапазон.

IBinaryInteger<Int64>.TryWriteLittleEndian(Span<Byte>, Int32)

Пытается написать текущее значение в маленьком формате в заданном диапазоне.

IBinaryNumber<Int64>.AllBitsSet

Возвращает экземпляр двоичного типа, в котором заданы все биты.

IBitwiseOperators<Int64,Int64,Int64>.BitwiseAnd(Int64, Int64)

Вычисляет битовое и два значения.

IBitwiseOperators<Int64,Int64,Int64>.BitwiseOr(Int64, Int64)

Вычисляет битовое или два значения.

IBitwiseOperators<Int64,Int64,Int64>.ExclusiveOr(Int64, Int64)

Вычисляет монопольные или два значения.

IBitwiseOperators<Int64,Int64,Int64>.OnesComplement(Int64)

Вычисляет представление заданного значения с дополнением.

IComparable.CompareTo(Object)

Сравнивает этот экземпляр с указанным объектом и возвращает указание их относительных значений.

IComparisonOperators<Int64,Int64,Boolean>.GreaterThan(Int64, Int64)

Сравнивает два значения, чтобы определить, какой из них больше.

IComparisonOperators<Int64,Int64,Boolean>.GreaterThanOrEqual(Int64, Int64)

Сравнивает два значения, чтобы определить, какое значение больше или равно.

IComparisonOperators<Int64,Int64,Boolean>.LessThan(Int64, Int64)

Сравнивает два значения, чтобы определить, что меньше.

IComparisonOperators<Int64,Int64,Boolean>.LessThanOrEqual(Int64, Int64)

Сравнивает два значения, чтобы определить, что меньше или равно.

IConvertible.GetTypeCode()

TypeCode Возвращает тип Int64значения.

IConvertible.ToBoolean(IFormatProvider)

Описание этого элемента см. в разделе ToBoolean(IFormatProvider).

IConvertible.ToByte(IFormatProvider)

Описание этого элемента см. в разделе ToByte(IFormatProvider).

IConvertible.ToChar(IFormatProvider)

Описание этого элемента см. в разделе ToChar(IFormatProvider).

IConvertible.ToDateTime(IFormatProvider)

Это преобразование не поддерживается. Попытка использовать этот метод вызывает InvalidCastExceptionисключение.

IConvertible.ToDecimal(IFormatProvider)

Описание этого элемента см. в разделе ToDecimal(IFormatProvider).

IConvertible.ToDouble(IFormatProvider)

Описание этого элемента см. в разделе ToDouble(IFormatProvider).

IConvertible.ToInt16(IFormatProvider)

Описание этого элемента см. в разделе ToInt16(IFormatProvider).

IConvertible.ToInt32(IFormatProvider)

Описание этого элемента см. в разделе ToInt32(IFormatProvider).

IConvertible.ToInt64(IFormatProvider)

Описание этого элемента см. в разделе ToInt64(IFormatProvider).

IConvertible.ToSByte(IFormatProvider)

Описание этого элемента см. в разделе ToSByte(IFormatProvider).

IConvertible.ToSingle(IFormatProvider)

Описание этого элемента см. в разделе ToSingle(IFormatProvider).

IConvertible.ToType(Type, IFormatProvider)

Описание этого элемента см. в разделе ToType(Type, IFormatProvider).

IConvertible.ToUInt16(IFormatProvider)

Описание этого элемента см. в разделе ToUInt16(IFormatProvider).

IConvertible.ToUInt32(IFormatProvider)

Описание этого элемента см. в разделе ToUInt32(IFormatProvider).

IConvertible.ToUInt64(IFormatProvider)

Описание этого элемента см. в разделе ToUInt64(IFormatProvider).

IDecrementOperators<Int64>.CheckedDecrement(Int64)

Уменьшает значение.

IDecrementOperators<Int64>.Decrement(Int64)

Уменьшает значение.

IDivisionOperators<Int64,Int64,Int64>.Division(Int64, Int64)

Делит одно значение на другое, чтобы вычислить их кворот.

IEqualityOperators<Int64,Int64,Boolean>.Equality(Int64, Int64)

Сравнивает два значения для определения равенства.

IEqualityOperators<Int64,Int64,Boolean>.Inequality(Int64, Int64)

Сравнивает два значения для определения неравенства.

IIncrementOperators<Int64>.CheckedIncrement(Int64)

Увеличивает значение.

IIncrementOperators<Int64>.Increment(Int64)

Увеличивает значение.

IMinMaxValue<Int64>.MaxValue

Возвращает максимальное значение текущего типа.

IMinMaxValue<Int64>.MinValue

Возвращает минимальное значение текущего типа.

IModulusOperators<Int64,Int64,Int64>.Modulus(Int64, Int64)

Делит два значения вместе, чтобы вычислить их модулу или оставшуюся часть.

IMultiplicativeIdentity<Int64,Int64>.MultiplicativeIdentity

Возвращает умножающее удостоверение текущего типа.

IMultiplyOperators<Int64,Int64,Int64>.CheckedMultiply(Int64, Int64)

Умножает два значения вместе, чтобы вычислить свой продукт.

IMultiplyOperators<Int64,Int64,Int64>.Multiply(Int64, Int64)

Умножает два значения вместе, чтобы вычислить свой продукт.

INumber<Int64>.MaxNumber(Int64, Int64)

Сравнивает два значения с вычислениями, которые больше и возвращают другое значение, если входные данные.NaN

INumber<Int64>.MinNumber(Int64, Int64)

Сравнивает два значения с вычислениями, которые меньше и возвращают другое значение, если входные данные имеют NaNзначение.

INumberBase<Int64>.IsCanonical(Int64)

Определяет, находится ли значение в его каноническом представлении.

INumberBase<Int64>.IsComplexNumber(Int64)

Определяет, представляет ли значение сложное число.

INumberBase<Int64>.IsFinite(Int64)

Определяет, является ли значение конечным.

INumberBase<Int64>.IsImaginaryNumber(Int64)

Определяет, представляет ли значение чистое мнимое число.

INumberBase<Int64>.IsInfinity(Int64)

Определяет, является ли значение бесконечным.

INumberBase<Int64>.IsInteger(Int64)

Определяет, представляет ли значение целочисленное число.

INumberBase<Int64>.IsNaN(Int64)

Определяет, является ли значение naN.

INumberBase<Int64>.IsNegativeInfinity(Int64)

Определяет, является ли значение отрицательным бесконечностью.

INumberBase<Int64>.IsNormal(Int64)

Определяет, является ли значение нормальным.

INumberBase<Int64>.IsPositiveInfinity(Int64)

Определяет, является ли значение положительным бесконечностью.

INumberBase<Int64>.IsRealNumber(Int64)

Определяет, представляет ли значение реальное число.

INumberBase<Int64>.IsSubnormal(Int64)

Определяет, является ли значение ненормальным.

INumberBase<Int64>.IsZero(Int64)

Определяет, равно ли значение нулю.

INumberBase<Int64>.MaxMagnitudeNumber(Int64, Int64)

Сравнивает два значения с вычислениями, которые имеют большую величину и возвращают другое значение, если входные данные.NaN

INumberBase<Int64>.MinMagnitudeNumber(Int64, Int64)

Сравнивает два значения с вычислениями, которые имеют меньшую величину и возвращают другое значение, если входные данные.NaN

INumberBase<Int64>.MultiplyAddEstimate(Int64, Int64, Int64)

Вычисляет оценку (left * right) + . addend

INumberBase<Int64>.One

Возвращает значение 1 типа.

INumberBase<Int64>.Radix

Возвращает радикс или базу для типа.

INumberBase<Int64>.TryConvertFromChecked<TOther>(TOther, Int64)

Представляет 64-разрядное целое число со знаком.

INumberBase<Int64>.TryConvertFromSaturating<TOther>(TOther, Int64)

Представляет 64-разрядное целое число со знаком.

INumberBase<Int64>.TryConvertFromTruncating<TOther>(TOther, Int64)

Представляет 64-разрядное целое число со знаком.

INumberBase<Int64>.TryConvertToChecked<TOther>(Int64, TOther)

Пытается преобразовать экземпляр текущего типа в другой тип, вызывая исключение переполнения для любых значений, которые выходят за пределы представляющего диапазона текущего типа.

INumberBase<Int64>.TryConvertToSaturating<TOther>(Int64, TOther)

Пытается преобразовать экземпляр текущего типа в другой тип, насыщая все значения, которые выходят за пределы представляющего диапазона текущего типа.

INumberBase<Int64>.TryConvertToTruncating<TOther>(Int64, TOther)

Пытается преобразовать экземпляр текущего типа в другой тип, усечение любых значений, которые выходят за пределы представляющего диапазона текущего типа.

INumberBase<Int64>.Zero

Возвращает значение 0 типа.

IShiftOperators<Int64,Int32,Int64>.LeftShift(Int64, Int32)

Сдвигает значение влево по заданной сумме.

IShiftOperators<Int64,Int32,Int64>.RightShift(Int64, Int32)

Сдвигает значение вправо по заданной сумме.

IShiftOperators<Int64,Int32,Int64>.UnsignedRightShift(Int64, Int32)

Сдвигает значение вправо по заданной сумме.

ISignedNumber<Int64>.NegativeOne

Возвращает значение -1 типа.

ISubtractionOperators<Int64,Int64,Int64>.CheckedSubtraction(Int64, Int64)

Вычитает два значения, чтобы вычислить их разницу.

ISubtractionOperators<Int64,Int64,Int64>.Subtraction(Int64, Int64)

Вычитает два значения, чтобы вычислить их разницу.

IUnaryNegationOperators<Int64,Int64>.CheckedUnaryNegation(Int64)

Вычисляет проверенное унарное отрицание значения.

IUnaryNegationOperators<Int64,Int64>.UnaryNegation(Int64)

Вычисляет унарное отрицание значения.

IUnaryPlusOperators<Int64,Int64>.UnaryPlus(Int64)

Вычисляет унарный плюс значения.

Применяется к

Потокобезопасность

Все члены этого типа являются потокобезопасны. Элементы, которые, как представляется, изменяют состояние экземпляра, фактически возвращают новый экземпляр, инициализированный с новым значением. Как и в случае с любым другим типом, чтение и запись в общую переменную, которая содержит экземпляр этого типа, должна быть защищена блокировкой, чтобы гарантировать безопасность потока.

См. также раздел