C# BinaryReader.ReadInt32的代码示例

通过代码示例来学习C# BinaryReader.ReadInt32方法

通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。


BinaryReader.ReadInt32是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的BinaryReader.ReadInt32() 已经帮大家高亮显示了,大家可以重点学习BinaryReader.ReadInt32() 方法的写法,从而快速掌握该方法的应用。

BinaryReader.ReadInt32的代码示例1 - DecompressMeshCodec()

    using System.IO;

        public static byte[] DecompressMeshCodec(Stream stream)
        {
            using (var reader = new BinaryReader(stream))
            {
                reader.ReadUInt32(); //Magic
                reader.ReadUInt32(); //Version 1.1.0.0
                var flags = reader.ReadInt32();
                var decompressed_size = (flags >> 5) << (flags & 0xf);

                reader.BaseStream.Seek(0xC, SeekOrigin.Begin);
                byte[] src = reader.ReadBytes((int)reader.BaseStream.Length - 0xC);
               return Decompress(src, (uint)decompressed_size);
            }
        }
    

开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:16,代码来源:MeshCodec.cs

在DecompressMeshCodec()方法中,BinaryReader的代码示例类中的ReadInt32的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

BinaryReader.ReadInt32的代码示例2 - ReadAsync()

    using System.IO;

        /// 
        /// May throw exceptions if there are pipe problems.
        /// 
        /// 
        /// 
        /// 
        public static async Task ReadAsync(Stream stream, CancellationToken cancellationToken = default(CancellationToken))
        {
            ServerLogger.Log("Reading response length");
            // Read the response length
            var lengthBuffer = new byte[4];
            await ServerProtocol.ReadAllAsync(stream, lengthBuffer, 4, cancellationToken).ConfigureAwait(false);
            var length = BitConverter.ToUInt32(lengthBuffer, 0);

            // Read the response
            ServerLogger.Log("Reading response of length {0}", length);
            var responseBuffer = new byte[length];
            await ServerProtocol.ReadAllAsync(
                stream,
                responseBuffer,
                responseBuffer.Length,
                cancellationToken)
                .ConfigureAwait(false);

            using (var reader = new BinaryReader(new MemoryStream(responseBuffer), Encoding.Unicode))
            {
                var responseType = (ResponseType)reader.ReadInt32();

                switch (responseType)
                {
                    case ResponseType.Completed:
                        return CompletedServerResponse.Create(reader);
                    case ResponseType.MismatchedVersion:
                        return new MismatchedVersionServerResponse();
                    case ResponseType.Shutdown:
                        return ShutdownServerResponse.Create(reader);
                    case ResponseType.Rejected:
                        return new RejectedServerResponse();
                    default:
                        throw new InvalidOperationException("Received invalid response type from server.");
                }
            }
        }
    

开发者ID:aspnet,项目名称:Razor,代码行数:45,代码来源:ServerResponse.cs

在ReadAsync()方法中,BinaryReader的代码示例类中的ReadInt32的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

BinaryReader.ReadInt32的代码示例3 - ReadCleanupDatabase()

    using System.IO;

        private static Dictionary ReadCleanupDatabase(string databaseFilename)
        {
            Dictionary dbFiles = null;
            if (File.Exists(databaseFilename))
            {
                try
                {
                    // Read database - This is simply a simple binary file containing the list of file and a version number.
                    using (Stream readStream = new FileStream(databaseFilename, FileMode.Open, FileAccess.Read, FileShare.None))
                    using (BinaryReader binReader = new BinaryReader(readStream))
                    {
                        // Validate version number
                        int version = binReader.ReadInt32();
                        if (version == (int)DBVersion.Version)
                        {
                            // Read the list of files.
                            IFormatter formatter = new BinaryFormatter();
                            string dbAsJson = binReader.ReadString();

                            var tmpDbFiles = System.Text.Json.JsonSerializer.Deserialize>(dbAsJson, GetCleanupDatabaseJsonSerializerOptions());
                            dbFiles = tmpDbFiles.ToDictionary(kvp => kvp.Key, kvp => kvp.Value, StringComparer.InvariantCultureIgnoreCase);
                        }
                        else
                        {
                            LogWrite("Warning: found cleanup database in incompatible format v{0}, skipped.", version);
                        }

                        readStream.Close();
                    }
                }
                catch
                {
                    // File is likely corrupted.
                    // This is no big deal except that cleanup won't occur.
                    dbFiles = null;
                }
            }
            return dbFiles;
        }
    

开发者ID:ubisoft,项目名称:Sharpmake,代码行数:41,代码来源:Util.cs

在ReadCleanupDatabase()方法中,BinaryReader的代码示例类中的ReadInt32的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

BinaryReader.ReadInt32的代码示例4 - ReadAttributeValue()

    using System.IO;
        //internal static object ReadPrimativTypeValue( BinaryReader reader , DCILElementType type , out bool isPrimativeType )
        //{
        //    switch (type)
        //    {
        //        case DCILElementType.Boolean: isPrimativeType = true; return reader.ReadByte() == 1;
        //        case DCILElementType.I1: isPrimativeType = true; return (sbyte)reader.ReadByte();
        //        case DCILElementType.U1: isPrimativeType = true; return reader.ReadByte();
        //        case DCILElementType.Char: isPrimativeType = true; return (char)reader.ReadInt16();
        //        case DCILElementType.I2: isPrimativeType = true; return reader.ReadInt16();
        //        case DCILElementType.U2: isPrimativeType = true; return reader.ReadUInt16();
        //        case DCILElementType.I4: isPrimativeType = true; return reader.ReadInt32();
        //        case DCILElementType.U4: isPrimativeType = true; return reader.ReadUInt32();
        //        case DCILElementType.I8: isPrimativeType = true; return reader.ReadInt64();
        //        case DCILElementType.U8: isPrimativeType = true; return reader.ReadUInt64();
        //        case DCILElementType.R4: isPrimativeType = true; return reader.ReadSingle();
        //        case DCILElementType.R8: isPrimativeType = true; return reader.ReadDouble();
        //        case DCILElementType.String: isPrimativeType = true; return ReadUTF8String(reader);
        //        case DCILElementType.Type: isPrimativeType = true; return ReadUTF8String(reader);
        //        default:
        //            isPrimativeType = false;
        //            return null;
        //    }
        //}
        protected static object ReadAttributeValue(ReadCustomAttributeValueArgs args, DCILElementType type)
        {
            switch (type)
            {
                case DCILElementType.Boolean: return args.Reader.ReadByte() == 1;
                case DCILElementType.I1: return (sbyte)args.Reader.ReadByte();
                case DCILElementType.U1: return args.Reader.ReadByte();
                case DCILElementType.Char: return (char)args.Reader.ReadInt16();
                case DCILElementType.I2: return args.Reader.ReadInt16();
                case DCILElementType.U2: return args.Reader.ReadUInt16();
                case DCILElementType.I4: return args.Reader.ReadInt32();
                case DCILElementType.U4: return args.Reader.ReadUInt32();
                case DCILElementType.I8: return args.Reader.ReadInt64();
                case DCILElementType.U8: return args.Reader.ReadUInt64();
                case DCILElementType.R4: return args.Reader.ReadSingle();
                case DCILElementType.R8: return args.Reader.ReadDouble();
                case DCILElementType.String: return DCUtils.GetStringUseTable( ReadUTF8String(args.Reader));
                case DCILElementType.Enum:
                    return args.Reader.ReadInt32();
                case DCILElementType.Type:
                    return new TypeRefInfo(args);
                case DCILElementType.Object:
                    return new PackageValueInfo(args);
                default:
                    throw new NotSupportedException(type.ToString());
            }
            return null;
        }
    

开发者ID:dcsoft-yyf,项目名称:JIEJIE.NET,代码行数:52,代码来源:DCILCustomAttributeValue.cs

在ReadAttributeValue()方法中,BinaryReader的代码示例类中的ReadInt32的代码示例方法一共出现了3次, 见黄色背景高亮显示的地方,欢迎大家点赞

BinaryReader.ReadInt32的代码示例5 - FromStream()

    using System.IO;

        public static ID3v2Footer FromStream(Stream stream)
        {
            if (stream == null) throw new ArgumentNullException("stream");
            if (!stream.CanRead) throw new ArgumentException("stream not readable");
            if (!stream.CanSeek) throw new ArgumentException("stream not seekable");

            BinaryReader reader = new BinaryReader(stream);
            ID3v2Footer footer;

            byte[] buffer = new byte[FooterLength];
            int read = stream.Read(buffer, 0, buffer.Length);
            if (read < 10)
                throw new EndOfStreamException();

            if (buffer[0] == 0x49 && //I
               buffer[1] == 0x44 && //D
               buffer[2] == 0x33)
            {
                footer = new ID3v2Footer();

                footer.Version = (ID3Version)buffer[3];
                footer.RawVersion = new byte[] { buffer[3], buffer[4] };
                footer.Flags = (ID3v2HeaderFlags)buffer[5];

                /*footer.DataLength = buffer[6] * (1 << 21);
                footer.DataLength += buffer[7] * (1 << 14);
                footer.DataLength += buffer[8] * (1 << 7);
                footer.DataLength += buffer[9];*/
                footer.DataLength = ID3Utils.ReadInt32(buffer, 6, true);

                return footer;
            }

            stream.Position -= read;
            return null;
        }
    

开发者ID:filoe,项目名称:cscore,代码行数:38,代码来源:ID3v2Footer.cs

在FromStream()方法中,BinaryReader的代码示例类中的ReadInt32的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

BinaryReader.ReadInt32的代码示例6 - FromStream()

    using System.IO;

        public static ID3v2Header FromStream(Stream stream)
        {
            if (stream == null) throw new ArgumentNullException("stream");
            if (!stream.CanRead) throw new ArgumentException("stream not readable");
            if (!stream.CanSeek) throw new ArgumentException("stream not seekable");

            BinaryReader reader = new BinaryReader(stream);
            ID3v2Header header;

            byte[] buffer = new byte[HeaderLength];
            int read = stream.Read(buffer, 0, buffer.Length);
            if (read < 10)
                throw new EndOfStreamException();

            if (buffer[0] == 0x49 && //I
               buffer[1] == 0x44 && //D
               buffer[2] == 0x33)
            {
                header = new ID3v2Header();

                header.Version = (ID3Version)buffer[3];
                header.RawVersion = new byte[] { buffer[3], buffer[4] };
                header.Flags = (ID3v2HeaderFlags)buffer[5];

                /*header.DataLength = buffer[6] * (1 << 21);
                header.DataLength += buffer[7] * (1 << 14);
                header.DataLength += buffer[8] * (1 << 7);
                header.DataLength += buffer[9];
                */
                header.DataLength = ID3Utils.ReadInt32(buffer, 6, true);

                return header;
            }

            stream.Position -= read;
            return null;
        }
    

开发者ID:filoe,项目名称:cscore,代码行数:39,代码来源:ID3v2Header.cs

在FromStream()方法中,BinaryReader的代码示例类中的ReadInt32的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

BinaryReader.ReadInt32的代码示例7 - FromStream()

    using System.IO;

        /// 
        ///     Parses the  and returns a . Note that the position of the
        ///     stream has to point to a wave file chunk.
        /// 
        ///  which points to a wave file chunk.
        /// 
        ///     Instance of the  class or any derived classes. It the stream does not point to a
        ///     wave file chunk the instance of the  which gets return will be invalid.
        /// 
        public static WaveFileChunk FromStream(Stream stream)
        {
            if (stream == null)
                throw new ArgumentNullException("stream");
            if (stream.CanRead == false)
                throw new ArgumentException("stream is not readable");

            var reader = new BinaryReader(stream);
            int id = reader.ReadInt32();
            stream.Position -= 4;

            if (id == FmtChunk.FmtChunkID)
                return new FmtChunk(reader);
            if (id == DataChunk.DataChunkID)
                return new DataChunk(reader);
            return new WaveFileChunk(reader);
        }
    

开发者ID:filoe,项目名称:cscore,代码行数:28,代码来源:WaveFileChunk.cs

在FromStream()方法中,BinaryReader的代码示例类中的ReadInt32的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

BinaryReader.ReadInt32的代码示例8 - ListenForConnectionsAsync()

    using System.IO;

        private async Task ListenForConnectionsAsync()
        {
            while (!cts.IsCancellationRequested)
            {
                bool namedPipeServerCreated = false;

                try
                {
                    using (NamedPipeServerStream namedPipeServer = new NamedPipeServerStream(PipeName, PipeDirection.InOut, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous))
                    {
                        namedPipeServerCreated = true;

                        await namedPipeServer.WaitForConnectionAsync(cts.Token).ConfigureAwait(false);

                        using (BinaryReader reader = new BinaryReader(namedPipeServer, Encoding.UTF8))
                        {
                            int length = reader.ReadInt32();

                            if (length < 0 || length > MaxArgumentsLength)
                            {
                                throw new Exception("Invalid length: " + length);
                            }

                            string[] args = new string[length];

                            for (int i = 0; i < length; i++)
                            {
                                args[i] = reader.ReadString();
                            }

                            OnArgumentsReceived(args);
                        }
                    }
                }
                catch (OperationCanceledException)
                {
                }
                catch (Exception e)
                {
                    DebugHelper.WriteException(e);

                    if (!namedPipeServerCreated)
                    {
                        break;
                    }
                }
            }
        }
    

开发者ID:ShareX,项目名称:ShareX,代码行数:50,代码来源:SingleInstanceManager.cs

在ListenForConnectionsAsync()方法中,BinaryReader的代码示例类中的ReadInt32的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

本文中的BinaryReader.ReadInt32方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。