草庐IT

不可重复读

全部标签

c# - 是否可以复制 .NET HashAlgorithm(用于重复的增量哈希结果)?

我有以下用例:从一个文件中读取n个字节计算这n个字节的(MD5)散列从文件中读取下m个字节为最多n+m字节的文件计算(MD5)哈希增量散列文件不是问题,justcallTransformBlockandTransformFinalBlock.问题是我需要共享其起始字节的多个数据散列,但在我调用TransformFinalBlock读取第一个n的Hash之后bytes我不能继续使用同一个对象进行哈希处理,需要一个新对象。搜索问题时,我看到Python以及OpenSSL可以选择为此目的复制哈希对象:hash.copy()Returnacopy(“clone”)ofthehashobject

c# - 如何在 dns 或 netbios 不可用时模拟用户通过网络复制文件

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:AccessingPasswordProtectedNetworkDrivesinWindowsinC#?我在DomainA上有ComputerA作为userA运行,需要将一个非常大的文件复制到WorkgroupB上的ComputerB,该文件的IP为192.168.10.2到只有userB具有写入权限的Windows共享。没有netbios或dns解析,所以计算机必须通过IP引用我第一次尝试AppDomain.CurrentDomain.SetPrincipalPolicy(System.Security.

c# - 开箱即用地更新 EF 中的子集合真的不可能吗(又名非 hacky 方式)?

假设您的实体中有这些类。publicclassParent{publicintParentID{get;set;}publicvirtualICollectionChildren{get;set;}}publicclassChild{publicintChildID{get;set;}publicintParentID{get;set;}publicvirtualParentParent{get;set;}}并且您有一个用户界面来更新Parent及其Children,这意味着如果用户添加新的Child那么您必须插入,如果用户编辑了一个现有的Child那么你需要更新,如果用户删除了一个C

c# - 哪个 C# 模式具有更好的性能来避免重复的事件处理程序?

基本上有两种模式可以避免重复注册事件处理程序:(根据这个讨论:C#patterntopreventaneventhandlerhookedtwice)使用System.Linq命名空间,并通过调用GetInvocationList().Contains(MyEventHandlerMethod);检查事件处理程序是否已注册注册前先注销,如下:MyEvent-=MyEventHandlerMethod;MyEvent+=MyEventHandlerMethod;我的问题是,就性能而言,哪个更好,或者它们之间在性能上有显着差异吗? 最佳答案

c# - 如何使用 LINQ 在列表中生成重复项?

这是我用过的LINQ查询varresult=(frompriceininventoryDb.Pricing.AsNoTracking()whereprice.Quantity>0mselectnew{TagNo=price.TagNo,SellingRate=price.SellingRate,Quantity=price.Quantity}).ToList();根据Quantity值,我需要在列表中生成重复项。输出:result=[0]{TagNo="100",SellingRate=1500.00,Quantity=1}[1]{TagNo="101",SellingRate=160

c# - 为什么 FSharpOption 的某些属性(例如 IsSome 和 IsNone)在 C# 中不可见?

在我看来,F#选项类型的某些属性在C#项目中是不可见的。通过检查类型,我或多或少可以看出原因,但我真的不明白到底发生了什么,为什么做出这些选择或者如何最好地规避这个问题。以下是演示该问题的一些片段。我有一个包含两个项目的VS2015解决方案,一个C#项目和一个F#项目。在F#项目中,我有一个定义如下的类:typeFoo()=memberthis.Bar()=Some(1)此外,在F#中我可以这样写:letoption=(newFoo()).Bar()letresult=ifoption.IsNonethen"Isnone"else"Issome"所以看起来选项类型有一个名为IsNone

c# - System.Web.UI 在控制台应用程序中不可用?

我正在尝试编写一个将数据输出到HTML文件的快速控制台应用程序,但是我无法访问System.Web.UI命名空间。将System.Web添加到我的引用会在解决方案资源管理器中的引用名称顶部放置一个警告图标,并且System.Web在.NET引用列表中不可用(为了让我实际将它添加到我的项目中必须转到对象浏览器并从那里添加它)。有人知道我可能遗漏了什么吗?非常感谢大家! 最佳答案 在VisualStudio2010中,控制台应用程序的默认目标框架是“.NETFramework4-ClientProfile”,它不包括System.Web

c# - 如何删除 MatchCollection 中的重复匹配项

在我的MatchCollection中,我得到了相同事物的匹配项。像这样:stringtext=@"matchmatchmatch";RegexR=newRegex("match");MatchCollectionM=R.Matches(text);如何删除重复的匹配项,这是最快的方法吗?这里假设“重复”意味着匹配包含完全相同的字符串。 最佳答案 林克如果您使用的是.Net3.5或更高版本(例如4.7),可以使用linq删除匹配项的重复项。stringdata="abcmatchmatchabc";Console.WriteLine

c# - 如何制作所有文化的下拉列表(但不重复)

我正在尝试制作2个下拉列表。顶部的提供了所有文化,(但没有重复)。示例:英语、西类牙语、菲律宾语从顶部列表中选择后,底部列表将显示任何特定类型。我现在将此代码用于我的首选列表。foreach(CultureInfocultureInfoinCultureInfo.GetCultures(CultureTypes.NeutralCultures))但是它不显示菲律宾语(菲律宾)我宁愿不使用GetCultures(CultureTypes.AllCultures)),因为它一次显示太多。看来我可能需要将NeutralCultures加载到IList中。然后遍历AllCultures以确保它

c# - 如何避免重复的 try catch block

我有几个看起来像这样的方法:publicvoidfoo(){try{doSomething();}catch(Exceptione){Log.Error(e);}}我可以把代码改成这样吗?[LogException()]publicvoidfoo(){doSomething();}如何实现这个自定义属性?这样做的利弊是什么?-----编辑1------------我可以自己实现吗,我的意思是只写一个类,还是我需要使用postsharp或其他解决方案? 最佳答案 您可以使用委托(delegate)和lambda:privatevoid