C# Stream.Equals的代码示例
通过代码示例来学习C# Stream.Equals方法
通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。
Stream.Equals是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的Stream.Equals() 已经帮大家高亮显示了,大家可以重点学习Stream.Equals() 方法的写法,从而快速掌握该方法的应用。
Stream.Equals的代码示例1 - ProcessObjects()
using System.IO; ///
/// Read all the objects from the source stream and call ///for each. /// The total number of objects read public int ProcessObjects() { this.ValidateHeader(); // Start reading objects int numObjectsRead = 0; byte[] curObjectHeader = new byte[NumObjectHeaderBytes]; while (true) { bool keepReading = this.ShouldContinueReading(curObjectHeader); if (!keepReading) { break; } // Get the length long curLength = BitConverter.ToInt64(curObjectHeader, NumObjectIdBytes); // Handle the loose object using (Stream rawObjectData = new RestrictedStream(this.source, curLength)) { string objectId = SHA1Util.HexStringFromBytes(curObjectHeader, NumObjectIdBytes); if (objectId.Equals(GVFSConstants.AllZeroSha)) { throw new RetryableException("Received all-zero SHA before end of stream"); } this.onLooseObject(rawObjectData, objectId); numObjectsRead++; } } return numObjectsRead; }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:42,代码来源:BatchedLooseObjectDeserializer.cs
在ProcessObjects()方法中,Stream的代码示例类中的Equals的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Equals的代码示例2 - WriteLooseObject()
using System.IO; public virtual string WriteLooseObject(Stream responseStream, string sha, bool overwriteExistingObject, byte[] bufToCopyWith) { try { LooseObjectToWrite toWrite = this.GetLooseObjectDestination(sha); if (this.checkData) { try { using (Stream fileStream = this.OpenTempLooseObjectStream(toWrite.TempFile)) using (SideChannelStream sideChannel = new SideChannelStream(from: responseStream, to: fileStream)) using (InflaterInputStream inflate = new InflaterInputStream(sideChannel)) using (HashingStream hashing = new HashingStream(inflate)) using (NoOpStream devNull = new NoOpStream()) { hashing.CopyTo(devNull); string actualSha = SHA1Util.HexStringFromBytes(hashing.Hash); if (!sha.Equals(actualSha, StringComparison.OrdinalIgnoreCase)) { string message = $"Requested object with hash {sha} but received object with hash {actualSha}."; message += $"\nFind the incorrect data at '{toWrite.TempFile}'"; this.Tracer.RelatedError(message); throw new SecurityException(message); } } } catch (SharpZipBaseException) { string message = $"Requested object with hash {sha} but received data that failed decompression."; message += $"\nFind the incorrect data at '{toWrite.TempFile}'"; this.Tracer.RelatedError(message); throw new RetryableException(message); } } else { using (Stream fileStream = this.OpenTempLooseObjectStream(toWrite.TempFile)) { StreamUtil.CopyToWithBuffer(responseStream, fileStream, bufToCopyWith); fileStream.Flush(); } } this.FinalizeTempFile(sha, toWrite, overwriteExistingObject); return toWrite.ActualFile; } catch (IOException e) { throw new RetryableException("IOException while writing loose object. See inner exception for details.", e); } catch (UnauthorizedAccessException e) { throw new RetryableException("UnauthorizedAccessException while writing loose object. See inner exception for details.", e); } catch (Win32Exception e) { throw new RetryableException("Win32Exception while writing loose object. See inner exception for details.", e); } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:65,代码来源:GitObjects.cs
在WriteLooseObject()方法中,Stream的代码示例类中的Equals的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Equals的代码示例3 - ReadRegistry()
using System.IO; public Dictionary
ReadRegistry() { Dictionary allRepos = new Dictionary (GVFSPlatform.Instance.Constants.PathComparer); using (Stream stream = this.fileSystem.OpenFileStream( Path.Combine(this.registryParentFolderPath, RegistryName), FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read, callFlushFileBuffers: false)) { using (StreamReader reader = new StreamReader(stream)) { string versionString = reader.ReadLine(); int version; if (!int.TryParse(versionString, out version) || version > RegistryVersion) { if (versionString != null) { EventMetadata metadata = new EventMetadata(); metadata.Add("Area", EtwArea); metadata.Add("OnDiskVersion", versionString); metadata.Add("ExpectedVersion", versionString); this.tracer.RelatedError(metadata, "ReadRegistry: Unsupported version"); } return allRepos; } while (!reader.EndOfStream) { string entry = reader.ReadLine(); if (entry.Length > 0) { try { RepoRegistration registration = RepoRegistration.FromJson(entry); string errorMessage; string normalizedEnlistmentRootPath = registration.EnlistmentRoot; if (this.fileSystem.TryGetNormalizedPath(registration.EnlistmentRoot, out normalizedEnlistmentRootPath, out errorMessage)) { if (!normalizedEnlistmentRootPath.Equals(registration.EnlistmentRoot, GVFSPlatform.Instance.Constants.PathComparison)) { EventMetadata metadata = new EventMetadata(); metadata.Add("registration.EnlistmentRoot", registration.EnlistmentRoot); metadata.Add(nameof(normalizedEnlistmentRootPath), normalizedEnlistmentRootPath); metadata.Add(TracingConstants.MessageKey.InfoMessage, $"{nameof(this.ReadRegistry)}: Mapping registered enlistment root to final path"); this.tracer.RelatedEvent(EventLevel.Informational, $"{nameof(this.ReadRegistry)}_NormalizedPathMapping", metadata); } } else { EventMetadata metadata = new EventMetadata(); metadata.Add("registration.EnlistmentRoot", registration.EnlistmentRoot); metadata.Add("NormalizedEnlistmentRootPath", normalizedEnlistmentRootPath); metadata.Add("ErrorMessage", errorMessage); this.tracer.RelatedWarning(metadata, $"{nameof(this.ReadRegistry)}: Failed to get normalized path name for registed enlistment root"); } if (normalizedEnlistmentRootPath != null) { allRepos[normalizedEnlistmentRootPath] = registration; } } catch (Exception e) { EventMetadata metadata = new EventMetadata(); metadata.Add("Area", EtwArea); metadata.Add("entry", entry); metadata.Add("Exception", e.ToString()); this.tracer.RelatedError(metadata, "ReadRegistry: Failed to read entry"); } } } } } return allRepos; }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:83,代码来源:RepoRegistry.cs
在ReadRegistry()方法中,Stream的代码示例类中的Equals的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Equals的代码示例4 - InitializeFallbackRule()
private void InitializeFallbackRule() { if ((this.configuredProject == null)) { return; } Microsoft.Build.Framework.XamlTypes.Rule unboundRule = RazorConfiguration.deserializedFallbackRule; if ((unboundRule == null)) { System.IO.Stream xamlStream = null; System.Reflection.Assembly thisAssembly = System.Reflection.Assembly.GetExecutingAssembly(); try { xamlStream = thisAssembly.GetManifestResourceStream("XamlRuleToCode:RazorConfiguration.xaml"); Microsoft.Build.Framework.XamlTypes.IProjectSchemaNode root = ((Microsoft.Build.Framework.XamlTypes.IProjectSchemaNode)(System.Xaml.XamlServices.Load(xamlStream))); System.Collections.Generic.IEnumerator
ruleEnumerator = root.GetSchemaObjects(typeof(Microsoft.Build.Framework.XamlTypes.Rule)).GetEnumerator(); for ( ; ((unboundRule == null) && ruleEnumerator.MoveNext()); ) { Microsoft.Build.Framework.XamlTypes.Rule t = ((Microsoft.Build.Framework.XamlTypes.Rule)(ruleEnumerator.Current)); if (System.StringComparer.OrdinalIgnoreCase.Equals(t.Name, SchemaName)) { unboundRule = t; unboundRule.Name = "f269edfbdecc0079d5f539c22552711e194f39b2367903515ae5440a64b20a0f"; RazorConfiguration.deserializedFallbackRule = unboundRule; } } } finally { if ((xamlStream != null)) { ((System.IDisposable)(xamlStream)).Dispose(); } } } this.configuredProject.Services.AdditionalRuleDefinitions.AddRuleDefinition(unboundRule, "FallbackRuleCodeGenerationContext"); Microsoft.VisualStudio.ProjectSystem.Properties.IPropertyPagesCatalog catalog = this.configuredProject.Services.PropertyPagesCatalog.GetMemoryOnlyCatalog("FallbackRuleCodeGenerationContext"); this.fallbackRule = catalog.BindToContext(unboundRule.Name, this.file, this.itemType, this.itemName); }
开发者ID:aspnet,项目名称:Razor,代码行数:43,代码来源:RazorConfiguration.cs
在InitializeFallbackRule()方法中,Stream的代码示例类中的Equals的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Equals的代码示例5 - InitializeFallbackRule()
private void InitializeFallbackRule() { if ((this.configuredProject == null)) { return; } Microsoft.Build.Framework.XamlTypes.Rule unboundRule = RazorExtension.deserializedFallbackRule; if ((unboundRule == null)) { System.IO.Stream xamlStream = null; System.Reflection.Assembly thisAssembly = System.Reflection.Assembly.GetExecutingAssembly(); try { xamlStream = thisAssembly.GetManifestResourceStream("XamlRuleToCode:RazorExtension.xaml"); Microsoft.Build.Framework.XamlTypes.IProjectSchemaNode root = ((Microsoft.Build.Framework.XamlTypes.IProjectSchemaNode)(System.Xaml.XamlServices.Load(xamlStream))); System.Collections.Generic.IEnumerator
ruleEnumerator = root.GetSchemaObjects(typeof(Microsoft.Build.Framework.XamlTypes.Rule)).GetEnumerator(); for ( ; ((unboundRule == null) && ruleEnumerator.MoveNext()); ) { Microsoft.Build.Framework.XamlTypes.Rule t = ((Microsoft.Build.Framework.XamlTypes.Rule)(ruleEnumerator.Current)); if (System.StringComparer.OrdinalIgnoreCase.Equals(t.Name, SchemaName)) { unboundRule = t; unboundRule.Name = "e8ad5dd707beca947f7c014baa70b46c1d7a7fd6c8b49a5511ab299d8e1a3c70"; RazorExtension.deserializedFallbackRule = unboundRule; } } } finally { if ((xamlStream != null)) { ((System.IDisposable)(xamlStream)).Dispose(); } } } this.configuredProject.Services.AdditionalRuleDefinitions.AddRuleDefinition(unboundRule, "FallbackRuleCodeGenerationContext"); Microsoft.VisualStudio.ProjectSystem.Properties.IPropertyPagesCatalog catalog = this.configuredProject.Services.PropertyPagesCatalog.GetMemoryOnlyCatalog("FallbackRuleCodeGenerationContext"); this.fallbackRule = catalog.BindToContext(unboundRule.Name, this.file, this.itemType, this.itemName); }
开发者ID:aspnet,项目名称:Razor,代码行数:43,代码来源:RazorExtension.cs
在InitializeFallbackRule()方法中,Stream的代码示例类中的Equals的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Equals的代码示例6 - InitializeFallbackRule()
private void InitializeFallbackRule() { if ((this.configuredProject == null)) { return; } Microsoft.Build.Framework.XamlTypes.Rule unboundRule = RazorGeneral.deserializedFallbackRule; if ((unboundRule == null)) { System.IO.Stream xamlStream = null; System.Reflection.Assembly thisAssembly = System.Reflection.Assembly.GetExecutingAssembly(); try { xamlStream = thisAssembly.GetManifestResourceStream("XamlRuleToCode:RazorGeneral.xaml"); Microsoft.Build.Framework.XamlTypes.IProjectSchemaNode root = ((Microsoft.Build.Framework.XamlTypes.IProjectSchemaNode)(System.Xaml.XamlServices.Load(xamlStream))); System.Collections.Generic.IEnumerator
ruleEnumerator = root.GetSchemaObjects(typeof(Microsoft.Build.Framework.XamlTypes.Rule)).GetEnumerator(); for ( ; ((unboundRule == null) && ruleEnumerator.MoveNext()); ) { Microsoft.Build.Framework.XamlTypes.Rule t = ((Microsoft.Build.Framework.XamlTypes.Rule)(ruleEnumerator.Current)); if (System.StringComparer.OrdinalIgnoreCase.Equals(t.Name, SchemaName)) { unboundRule = t; unboundRule.Name = "6851f2efc446915a1288ec829aa82f7dc9bcfc6addb65b97866a1bc9e30b3348"; RazorGeneral.deserializedFallbackRule = unboundRule; } } } finally { if ((xamlStream != null)) { ((System.IDisposable)(xamlStream)).Dispose(); } } } this.configuredProject.Services.AdditionalRuleDefinitions.AddRuleDefinition(unboundRule, "FallbackRuleCodeGenerationContext"); Microsoft.VisualStudio.ProjectSystem.Properties.IPropertyPagesCatalog catalog = this.configuredProject.Services.PropertyPagesCatalog.GetMemoryOnlyCatalog("FallbackRuleCodeGenerationContext"); this.fallbackRule = catalog.BindToContext(unboundRule.Name, this.file, this.itemType, this.itemName); }
开发者ID:aspnet,项目名称:Razor,代码行数:43,代码来源:RazorGeneral.cs
在InitializeFallbackRule()方法中,Stream的代码示例类中的Equals的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Equals的代码示例7 - InitializeFallbackRule()
private void InitializeFallbackRule() { if ((this.configuredProject == null)) { return; } Microsoft.Build.Framework.XamlTypes.Rule unboundRule = RazorGenerateWithTargetPath.deserializedFallbackRule; if ((unboundRule == null)) { System.IO.Stream xamlStream = null; System.Reflection.Assembly thisAssembly = System.Reflection.Assembly.GetExecutingAssembly(); try { xamlStream = thisAssembly.GetManifestResourceStream("XamlRuleToCode:RazorGenerateWithTargetPath.xaml"); Microsoft.Build.Framework.XamlTypes.IProjectSchemaNode root = ((Microsoft.Build.Framework.XamlTypes.IProjectSchemaNode)(System.Xaml.XamlServices.Load(xamlStream))); System.Collections.Generic.IEnumerator
ruleEnumerator = root.GetSchemaObjects(typeof(Microsoft.Build.Framework.XamlTypes.Rule)).GetEnumerator(); for ( ; ((unboundRule == null) && ruleEnumerator.MoveNext()); ) { Microsoft.Build.Framework.XamlTypes.Rule t = ((Microsoft.Build.Framework.XamlTypes.Rule)(ruleEnumerator.Current)); if (System.StringComparer.OrdinalIgnoreCase.Equals(t.Name, SchemaName)) { unboundRule = t; unboundRule.Name = "4325a10cce970a389c33b97140c4307d2e10664e053c75cf9e0e0fd08288774f"; RazorGenerateWithTargetPath.deserializedFallbackRule = unboundRule; } } } finally { if ((xamlStream != null)) { ((System.IDisposable)(xamlStream)).Dispose(); } } } this.configuredProject.Services.AdditionalRuleDefinitions.AddRuleDefinition(unboundRule, "FallbackRuleCodeGenerationContext"); Microsoft.VisualStudio.ProjectSystem.Properties.IPropertyPagesCatalog catalog = this.configuredProject.Services.PropertyPagesCatalog.GetMemoryOnlyCatalog("FallbackRuleCodeGenerationContext"); this.fallbackRule = catalog.BindToContext(unboundRule.Name, this.file, this.itemType, this.itemName); }
开发者ID:aspnet,项目名称:Razor,代码行数:43,代码来源:RazorGenerateWithTargetPath.cs
在InitializeFallbackRule()方法中,Stream的代码示例类中的Equals的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Equals的代码示例8 - Verify()
using System.IO; ///
/// Computes the hash for the specified stream and compares /// it to the value in this object. CRC hashes are not supported /// because there is no built-in support in the .net framework and /// a CRC implementation exceeds the scope of this project. If you /// attempt to call this on a CRC hash a /// The stream to compute the hash for ///will /// be thrown. /// True if the computed hash matches what's stored in this object. ///Thrown if called on a CRC Hash public bool Verify(Stream istream) { if (IsValid) { HashAlgorithm hashAlg = null; switch (m_algorithm) { case FtpHashAlgorithm.SHA1: #if NETSTANDARD || NET5_0_OR_GREATER hashAlg = SHA1.Create(); #else hashAlg = new SHA1CryptoServiceProvider(); #endif break; case FtpHashAlgorithm.SHA256: #if NETSTANDARD || NET5_0_OR_GREATER hashAlg = SHA256.Create(); #else hashAlg = new SHA256CryptoServiceProvider(); #endif break; case FtpHashAlgorithm.SHA512: #if NETSTANDARD || NET5_0_OR_GREATER hashAlg = SHA512.Create(); #else hashAlg = new SHA512CryptoServiceProvider(); #endif break; case FtpHashAlgorithm.MD5: #if NETSTANDARD || NET5_0_OR_GREATER hashAlg = MD5.Create(); #else hashAlg = new MD5CryptoServiceProvider(); #endif break; case FtpHashAlgorithm.CRC: hashAlg = new CRC32(); break; default: throw new NotImplementedException("Unknown hash algorithm: " + m_algorithm.ToString()); } try { byte[] data = null; var hash = new StringBuilder(); data = hashAlg.ComputeHash(istream); if (data != null) { // convert hash to hex string foreach (var b in data) { hash.Append(b.ToString("x2")); } var hashStr = hash.ToString(); // check if hash exactly matches if (hashStr.Equals(m_value, StringComparison.OrdinalIgnoreCase)) { return true; } // check if hash matches without the "0" prefix that .NET CRC sometimes generates // to fix #820: Validation of short CRC checksum fails due to mismatch with hex format if (Strings.RemovePrefix(hashStr, "0").Equals(Strings.RemovePrefix(m_value, "0"), StringComparison.OrdinalIgnoreCase)) { return true; } return false; } } finally { hashAlg?.Dispose(); } } return false; }
开发者ID:robinrodricks,项目名称:FluentFTP,代码行数:92,代码来源:FtpHash.cs
在Verify()方法中,Stream的代码示例类中的Equals的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
本文中的Stream.Equals方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。