fNbt.NbtBinaryReader.ReadDouble C# (CSharp) Method

ReadDouble() public method

public ReadDouble ( ) : double
return double
        public override double ReadDouble()
        {
            if (swapNeeded) {
                FillBuffer(sizeof(double));
                Array.Reverse(buffer);
                return BitConverter.ToDouble(buffer, 0);
            }
            return base.ReadDouble();
        }

Usage Example

コード例 #1
0
        NbtTag ReadValueAsTag()
        {
            if (!atValue)
            {
                // Should never happen
                throw new InvalidOperationException(NoValueToReadError);
            }
            atValue = false;
            switch (TagType)
            {
            case NbtTagType.Byte:
                return(new NbtByte(TagName, reader.ReadByte()));

            case NbtTagType.Short:
                return(new NbtShort(TagName, reader.ReadInt16()));

            case NbtTagType.Int:
                return(new NbtInt(TagName, reader.ReadInt32()));

            case NbtTagType.Long:
                return(new NbtLong(TagName, reader.ReadInt64()));

            case NbtTagType.Float:
                return(new NbtFloat(TagName, reader.ReadSingle()));

            case NbtTagType.Double:
                return(new NbtDouble(TagName, reader.ReadDouble()));

            case NbtTagType.String:
                return(new NbtString(TagName, reader.ReadString()));

            case NbtTagType.ByteArray:
                byte[] value = reader.ReadBytes(TagLength);
                if (value.Length < TagLength)
                {
                    throw new EndOfStreamException();
                }
                return(new NbtByteArray(TagName, value));

            case NbtTagType.IntArray:
                var ints = new int[TagLength];
                for (int i = 0; i < TagLength; i++)
                {
                    ints[i] = reader.ReadInt32();
                }
                return(new NbtIntArray(TagName, ints));

            case NbtTagType.LongArray:
                var longs = new long[TagLength];
                for (int i = 0; i < TagLength; i++)
                {
                    longs[i] = reader.ReadInt64();
                }

                return(new NbtLongArray(TagName, longs));

            default:
                throw new InvalidOperationException(NonValueTagError);
            }
        }
All Usage Examples Of fNbt.NbtBinaryReader::ReadDouble