草庐IT

c# - 为什么我应该用 "unchecked"明确包围?

有人能给我解释一下这种奇怪的行为吗?inti=0x1234;byteb1=(byte)i;byteb2=(byte)0x1234;//error:constvalue'4660'can'tconverttobyte(useunchecked)byteb3=unchecked((byte)0x1234);byteb4=checked((byte)i);//throwsbyteb5=(byte)(int)0x1234;//error:sameasabove注意:这是一个空的控制台应用程序,启用了NO算术检查(默认情况下)。提前谢谢大家。编辑:我应该说得足够清楚了,但不是所有的。我确实知道一

c# - FabricNotReadableException 是什么意思?我们应该如何应对?

我们在Service-Fabric上的有状态服务中使用以下方法。该服务有分区。有时我们会从这种和平的代码中得到FabricNotReadableException。publicasyncTaskHandleEvent(EventHandlerMessagemessage){varqueue=awaitStateManager.GetOrAddAsync>(EventHandlerServiceConstants.EventHandlerQueueName);using(ITransactiontx=StateManager.CreateTransaction()){awaitqueue

c# - 谁应该负责关闭流

我正在编写一个创建文件“目录”的应用程序,这些文件可以与其他元数据文件(例如附件和缩略图)一起归属。我正在尝试将目录的接口(interface)抽象到目录的消费者不需要了解用于存储文件的底层文件系统的程度。所以我创建了一个名为IFileSystemAdaptor的接口(interface),如下所示。publicinterfaceIFileSystemAdaptor:IDisposable{voidWriteFileData(stringfileName,Streamdata);StreamReadFileData(stringfilename);voidDeleteFileData(

c# - 我应该如何访问 Entity Framework Code First 中的计算列?

我在我的ASP.NETMVC应用程序中使用EntityFrameworkCodeFirst。我的一个类(class)有几列加在一起。我通过在数据库初始值设定项中运行altertable脚本,将这些列存储为表中的计算列。假设类看起来像:publicclassBond{publicdecimalParAmountOfIssuance{get;set;}publicdecimalAccruedInterest{get;set;}publicdecimalPremium{get;set;}publicdecimalOriginalIssueDiscount{get;set;}}改变脚本是这样的

c# - 什么时候应该在 C# 中定义(显式或隐式)转换运算符?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭2年前。ImprovethisquestionC#的一个鲜为人知的特性是可以创建隐式或显式user-definedtypeconversions.我已经编写C#代码6年了,但我从未使用过它。所以,我担心我可能会错失良机。用户定义的转换的合法、良好用途是什么?您是否有比仅定义自定义方法更好的示例?--事实证明,Microsoft有一些designguidelines关于转化,其中最相关的是:Donotprovideaconversion

c# - 我应该压缩内存中的 C# 对象以获得更好的性能吗?

我有一个应用程序(C#、WPF)可以显示许多财务图表以及来自服务器的实时数据流。在内存中收集的数据可能会变得有点大,我不想在磁盘上保留任何数据。由于历史数据本身不会改变,只会被添加,以某种压缩格式保留该数据(存储在集合对象中)是否有意义?是否有可能,如果可以,有人可以推荐一个好的做法吗?更新关于性能和权衡的一些注意事项:我知道压缩会增加访问数据的延迟,但是,用户只需要对到达的新数据进行快速更新。当访问已经呈现的数据(例如,研究或重新呈现它)时,他不需要快速响应。 最佳答案 压缩和解压缩会使您的应用程序变慢,因此对于性能(速度)而言,

c# - 应该如何托管 GRPC 服务?

我使用Link中给出的示例在C#中创建了一个GRPC服务器.现在我想弄清楚我应该如何托管此服务器以便实现以下目标:我应该将此服务器设为控制台应用程序还是Windows服务。如果我将其设为Windows服务,那么更新该服务将很麻烦(这是一个很大的负面影响),如果我将其设为控制台应用程序,则更新只需要关闭exe。但这伴随着错误关闭相同的价格。还有其他更好的方法吗?使用IIS时不会出现此问题,因为我可以简单地从LB中删除网站并停止网站执行更新,但由于GRPC不会成为IIS的一部分,我不确定如何获取这个工作。欢迎任何关于更好架构的引用。 最佳答案

c# - WPF 应用程序应该用 C++/CLI 还是 C# 编写?

WPF应用程序的核心是托管应用程序?Right?因此,我必须在使用托管C++或托管C#之间做出选择。几年前我尝试过托管C++。它似乎还没有为黄金时段做好准备。我猜微软在托管C#上投入的精力比托管C++多。因此,似乎使用托管C#是两者之间的最佳选择。是这样吗?您对这两种语言的WPF都有哪些体验?提前致谢。 最佳答案 托管C++已被C++/CLI取代,“托管C#”就是C#。我强烈建议您在新项目中使用C#,并且仅在需要时才使用C++/CLI。C#具有更好的支持,拥有更大的用户群,并且更易于在VisualStudio2010中使用。此外,请

c# - 我应该转换我的 lambda 还是转换 IEnumerable?

在我的项目中,我有一个MyClass实现了IMyClass。我需要通过转换其他项目的列表来返回IMyClass的列表。为简单起见,假设我可以创建一个MyClass,只需将另一个项目传递给它的构造函数,即newMyClass(item)。考虑以下两行,它们(据我所知)产生相同的结果:varoption1=items.Select(item=>newMyClass(item)).Cast().ToList()varoption2=items.Select(item=>newMyClass(item)asIMyClass).ToList()在我看来,选项#1需要双重枚举,一次是将所有项目转换

c# - 我应该在哪里放置我的域模型以查看模型映射代码?

目前我在我的Controller文件中使用私有(private)静态方法将域模型映射到View模型,反之亦然。如下所示:publicActionResultDetails(intpersonID){PersonpersonDM=service.Get(personID);PersonViewModelpersonVM=MapDmToVm(personDM);returnView(personVM);}privatestaticPersonViewModelMapDmToVm(Persondm){PersonViewModelvm;//MaptoVMreturnvm;}还有其他标准方法可