C# BinaryWriter.Seek的代码示例

通过代码示例来学习C# BinaryWriter.Seek方法

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


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

BinaryWriter.Seek的代码示例1 - StreamObjects()

    using System.IO;

        private RetryWrapper.InvocationResult StreamObjects(
            IEnumerable objectIds,
            Func.CallbackResult> onSuccess,
            Action.ErrorEventArgs> onFailure)
        {
            for (int i = 0; i < this.RetryConfig.MaxAttempts; ++i)
            {
                try
                {
                    using (ReusableMemoryStream mem = new ReusableMemoryStream(string.Empty))
                    using (BinaryWriter writer = new BinaryWriter(mem))
                    {
                        writer.Write(new byte[] { (byte)'G', (byte)'V', (byte)'F', (byte)'S', (byte)' ', 1 });

                        foreach (string objectId in objectIds)
                        {
                            string contents = this.objectResolver(objectId);
                            if (!string.IsNullOrEmpty(contents))
                            {
                                writer.Write(this.SHA1BytesFromString(objectId));
                                byte[] bytes = Encoding.UTF8.GetBytes(contents);
                                writer.Write((long)bytes.Length);
                                writer.Write(bytes);
                            }
                            else
                            {
                                writer.Write(new byte[20]);
                                writer.Write(0L);
                            }
                        }

                        writer.Write(new byte[20]);
                        writer.Flush();
                        mem.Seek(0, SeekOrigin.Begin);

                        using (GitEndPointResponseData response = new GitEndPointResponseData(
                            HttpStatusCode.OK,
                            GVFSConstants.MediaTypes.CustomLooseObjectsMediaType,
                            mem,
                            message: null,
                            onResponseDisposed: null))
                        {
                            RetryWrapper.CallbackResult result = onSuccess(1, response);
                            return new RetryWrapper.InvocationResult(1, true, result.Result);
                        }
                    }
                }
                catch
                {
                    continue;
                }
            }

            return new RetryWrapper.InvocationResult(this.RetryConfig.MaxAttempts, null);
        }
    

开发者ID:microsoft,项目名称:VFSForGit,代码行数:57,代码来源:MockBatchHttpGitObjects.cs

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

BinaryWriter.Seek的代码示例2 - Encode()

    using System.IO;
        /// 编码。请求/响应
        /// 
        /// 
        /// 
        /// 
        public virtual Packet Encode(String action, Int32 code, Packet value)
        {
            // 内存流,前面留空8字节用于协议头4字节(超长8字节)
            var ms = new MemoryStream();
            ms.Seek(8, SeekOrigin.Begin);

            // 请求:action + args
            // 响应:action + code + result
            var writer = new BinaryWriter(ms);
            writer.Write(action);

            // 异常响应才有code
            if (code != 0) writer.Write(code);

            // 参数或结果
            var pk = value;
            if (pk != null) writer.Write(pk.Total);

            var rs = new Packet(ms.GetBuffer(), 8, (Int32)ms.Length - 8)
            {
                Next = pk
            };

            return rs;
        }
    

开发者ID:NewLifeX,项目名称:X,代码行数:31,代码来源:JsonEncoder.cs

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

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