C# BinaryReader.Read的代码示例

BinaryReader.Read方法的主要功能描述

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

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


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

BinaryReader.Read的代码示例1 - 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

在ubisoft提供的ReadCleanupDatabase()方法中,该源代码示例一共有41行, 其中使用了BinaryReader.Read()1次, 并且小编将这些方法高亮显示出来了,希望对您了解BinaryReader.Read()有帮助。 如果您觉得有帮助的话,请帮忙点赞或转发。
该代码示例的点赞次数为3, 点赞数越大, 从某种程度说明这个示例对了解BinaryReader.Read()可能更有帮助。

BinaryReader.Read的代码示例2 - 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

在filoe提供的FromStream()方法中,该源代码示例一共有38行, 其中使用了BinaryReader.Read()1次, 并且小编将这些方法高亮显示出来了,希望对您了解BinaryReader.Read()有帮助。 如果您觉得有帮助的话,请帮忙点赞或转发。
该代码示例的点赞次数为3, 点赞数越大, 从某种程度说明这个示例对了解BinaryReader.Read()可能更有帮助。

BinaryReader.Read的代码示例3 - 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

在filoe提供的FromStream()方法中,该源代码示例一共有39行, 其中使用了BinaryReader.Read()1次, 并且小编将这些方法高亮显示出来了,希望对您了解BinaryReader.Read()有帮助。 如果您觉得有帮助的话,请帮忙点赞或转发。
该代码示例的点赞次数为3, 点赞数越大, 从某种程度说明这个示例对了解BinaryReader.Read()可能更有帮助。

BinaryReader.Read的代码示例4 - ReadBuffer()

    using System.IO;
		public static void ReadBuffer(this BinaryReader _this, byte[] buffer, int offset, int count)
		{
			do
			{
				int read = _this.Read(buffer, offset, count);
				if (read == 0)
				{
					throw new Exception($"No data left");
				}
				offset += read;
				count -= read;
			}
			while (count > 0);
		}
    

开发者ID: mafaca,   项目名称: UtinyRipper,   代码行数: 15,   代码来源: BinaryReaderExtensions.cs

在mafaca提供的ReadBuffer()方法中,该源代码示例一共有15行, 其中使用了BinaryReader.Read()1次, 并且小编将这些方法高亮显示出来了,希望对您了解BinaryReader.Read()有帮助。 如果您觉得有帮助的话,请帮忙点赞或转发。
该代码示例的点赞次数为3, 点赞数越大, 从某种程度说明这个示例对了解BinaryReader.Read()可能更有帮助。

BinaryReader.Read的代码示例5 - Export()

    using System.IO;

		public override void Export(ShaderWriter writer, ref ShaderSubProgram subProgram)
		{
			using (MemoryStream stream = new MemoryStream(subProgram.ProgramData))
			{
				using (BinaryReader reader = new BinaryReader(stream))
				{
					DXDataHeader header = new DXDataHeader();
					header.Read(reader, writer.Version);

					// HACK: since we can't restore UAV info and HLSLcc requires it, process such shader with default exporter
					if (header.UAVs > 0)
					{
						base.Export(writer, ref subProgram);
					}
					else
					{
						byte[] exportData = DXShaderProgramRestorer.RestoreProgramData(reader, writer.Version, ref subProgram);
						WrappedGlExtensions ext = new WrappedGlExtensions();
						ext.ARB_explicit_attrib_location = 1;
						ext.ARB_explicit_uniform_location = 1;
						ext.ARB_shading_language_420pack = 0;
						ext.OVR_multiview = 0;
						ext.EXT_shader_framebuffer_fetch = 0;
						Shader shader = Shader.TranslateFromMem(exportData, WrappedGLLang.LANG_DEFAULT, ext);
						if (shader.OK == 0)
						{
							base.Export(writer, ref subProgram);
						}
						else
						{
							ExportListing(writer, shader.Text);
						}
					}
				}
			}
		}
    

开发者ID: mafaca,   项目名称: UtinyRipper,   代码行数: 38,   代码来源: ShaderHLSLccExporter.cs

在mafaca提供的Export()方法中,该源代码示例一共有38行, 其中使用了BinaryReader.Read()1次, 并且小编将这些方法高亮显示出来了,希望对您了解BinaryReader.Read()有帮助。 如果您觉得有帮助的话,请帮忙点赞或转发。
该代码示例的点赞次数为3, 点赞数越大, 从某种程度说明这个示例对了解BinaryReader.Read()可能更有帮助。

BinaryReader.Read的代码示例6 - CreateBATBlock()

    using System.IO;
        /**
         * Create a single BATBlock from the byte buffer, which must hold at least
         *  one big block of data to be read.
         */
        public static BATBlock CreateBATBlock(POIFSBigBlockSize bigBlockSize, BinaryReader data)
        {
            // Create an empty block
            BATBlock block = new BATBlock(bigBlockSize);

            // Fill it
            byte[] buffer = new byte[LittleEndianConsts.INT_SIZE];
            for (int i = 0; i < block._values.Length; i++)
            {
                data.Read(buffer,0,buffer.Length);
                block._values[i] = LittleEndian.GetInt(buffer);
            }
            block.RecomputeFree();

            // All done
            return block;
        }
    

开发者ID: dotnetcore,   项目名称: NPOI,   代码行数: 22,   代码来源: BATBlock.cs

在dotnetcore提供的CreateBATBlock()方法中,该源代码示例一共有22行, 其中使用了BinaryReader.Read()1次, 并且小编将这些方法高亮显示出来了,希望对您了解BinaryReader.Read()有帮助。 如果您觉得有帮助的话,请帮忙点赞或转发。
该代码示例的点赞次数为3, 点赞数越大, 从某种程度说明这个示例对了解BinaryReader.Read()可能更有帮助。

BinaryReader.Read()方法的常见问题及解答

C#中BinaryReader.Read()的常见错误类型及注意事项

BinaryReader.Read的错误类型有很多, 这里就不一一阐述了,本文只列出一些常见的代码示例供参考,大家可以看一下代码中Catch语句中是否有常见的错误捕获及处理。

C#中BinaryReader.Read()的构造函数有哪些

BinaryReader.Read构造函数功能基本类似,只是参数不同; 目前主流的集成开发环境都已经带智能提醒了,如:Visual Studio; 大家可以非常轻松的通过Visual Studio中的智能提醒,了解对应构造函数的用法。

如何使用ChartGPT写一段BinaryReader.Read的代码

你可以在ChartGPT中输入如下的指令:"提供一个如何使用BinaryReader.Read的C#代码示例"
ChartGPT写出的代码和本文中的小编提供的代码的区别。 ChartGPT发展到现在已经非常聪明了,但需要使用这提供非常专业的问题,才可能有比较好的源代码示例; 而本文中, 小编已经帮您列出来基本所有类和所有方法的使用示例, 而且这些示例基本都是一些网络大佬提供的源码,可以更方便的供一些开发菜鸟或者资深开发参考和学习。

BinaryReader.Read所在的类及名称空间

BinaryReader.Read是System.IO下的方法。

BinaryReader.Read怎么使用?

BinaryReader.Read使用上比较简单,可以参考MSDN中的帮助文档,也参考本文中提供的7个使用示例。

BinaryReader.Read菜鸟教程

对于菜鸟来说,本文中提供的7个BinaryReader.Read写法都将非常直观的帮您掌握BinaryReader.Read的用法,是一个不错的参考教程。

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