草庐IT

c# - 一种解析带有 'Flags' 的 .NET 枚举字符串或 int 值的方法

有一种使用以下方法计算枚举元素的好方法://memberTypeisenumtypeif(Enum.IsDefined(memberType,valueString)){returnEnum.Parse(memberType,valueString);}else{try{varunderlyingValue=Convert.ChangeType(valueString,Enum.GetUnderlyingType(memberType));if(Enum.IsDefined(memberType,underlyingValue)){returnunderlyingValue;}}cat

c# - 如何以编程方式在 C# 中查找所有可用的波特率(serialPort 类)

有没有办法找出特定的所有可用波特率系统支持通过C#?这可以通过设备管理器-->端口获得但我想以编程方式列出这些。 最佳答案 我找到了几种方法来做到这一点。以下两个文件是起点http://support.microsoft.com/default.aspx/kb/99026http://msdn.microsoft.com/en-us/library/aa363189(VS.85).aspx线索在第一个文档的以下段落中Thesimplestwaytodeterminewhatbaudratesareavailableonapartic

c# - 是否有用于 Where 和 Select 的 (T, int) 重载的 LINQ 语法?

查询varq=fromelemincollectionwheresomeCondition(elem)selectelem;翻译成varq=collection.Where(elem=>someCondition(elem));是否有可转换为以下内容的LINQ语法?varq=collection.Where((elem,index)=>someCondition(elem,index)); 最佳答案 不,没有LINQ语法。一个简单的解决方法是:varq=fromelemincollection.Select((x,i)=>new{x

c# - C# lambda 编译成什么?堆栈框架,匿名类型的实例,还是?

C#lambda编译成什么?堆栈框架、匿名类型的实例,还是?我读过这个question.这主要回答了“为什么”在使用隐式类型功能时不能使用lambda。但是,这个问题旨在回答编译器生成什么结构来实际执行lambda代码。它是匿名类型的方法调用(类似于在Java中实现接口(interface)的匿名类型?)还是它只是一个引用封闭变量并接受参数签名的堆栈框架?一些lambda不会关闭任何东西——因此会有2个不同的编译结果输出。 最佳答案 假设你的意思是“作为一个委托(delegate)”,那么它仍然取决于:p如果它捕获任何变量(包括“t

c# - 在 Windows 服务上设置恢复选项

我最近编写了一个小类(class)来帮助我更改Windows服务的恢复选项(我在网上某处找到的大部分代码)。该代码为第一次、第二次和后续失败创建一个FailureAction。每个Failure对象都包含一个类型(None、Restart、Reboot、RunCommand)和一个以毫秒为单位的延迟(int)。这些对象打包在结构中并传递到ChangeServiceConfig2(WinAPIP/Invoke)。但是,当我实际右键单击控制台上的服务并转到“恢复”选项卡时,您只能为所有故障(第一次、第二次和后续)设置一次延迟(“重启服务器”字段)。当我以编程方式设置它时,它会延迟第一个Fa

c# - 将 null 分配给可为空的 int 时出错 - "The value ' null' 对属性无效”

我的View模型中有这个属性:[DisplayName("Region")]publicint?RegionId{get;set;}我将我的View模型传递给我的Controller,如果RegionId为null,它会在ModelState.IsValid处失败。如果我向它传递一个整数,它就可以正常工作。错误信息是:Thevalue'null'isnotvalidforRegion在检查ModelState.IsValid之前,我也试过调用它,但我得到了同样的错误:if(viewModel.RegionId==null)viewModel.RegionId=(int?)null;这里

c# - 为什么每个 Char static "Is..."都有一个字符串重载,例如IsWhiteSpace(字符串,Int32)?

http://msdn.microsoft.com/en-us/library/1x308yk8.aspx这允许我这样做:varstr="string";Char.IsWhiteSpace(str,6);而不是:Char.IsWhiteSpace(str[6]);似乎不寻常,所以我看了看倒影:[TargetedPatchingOptOut("PerformancecriticaltoinlineacrossNGenimageboundaries")]publicstaticboolIsWhiteSpace(charc){if(char.IsLatin1(c)){returnchar.I

c# - 为 tinyint 列生成的查询将 CAST 引入到 int

我正在查询一个tinyint列,并且EntityFramework生成一个SELECT查询,该查询为该列引入一个CAST到INT,即使我在WHERE子句中使用的值是byte类型也是如此。查看模型,为我的tinyint列生成的类型是byte。查看代码:bytebyteValue=6;varentityList=fromrinrep.DataContext.FooTablewherer.TinyintColumn==byteValueselectr;查看生成的查询:SELECT[Extent1].[TinyintColumn]AS[TinyintColumn]WHERE@p__linq__

c# - 为什么我不能只使用 EventHandler<int> 而不是从 EventArgs 派生

EventHandler的文档说:ThesecondparameterisatypederivedfromEventArgsandsuppliesanyfieldsorpropertiesneededtoholdtheeventdata.它似乎在整个.Net文档中被普遍推荐。但事实证明我可以执行以下操作,效果很好:publiceventEventHandlerPanned;并调用事件处理程序:intvalue=10;if(Panned!=null){Panned(this,value);}在观察者方面:subject.Panned+=(sender,e)=>{Console.Write

c# - 将内容复制到流时出现 System.Net.Http.HttpRequestException 错误

我在.NETFramework4.5.2中使用HttpClient类。我针对第三方网络服务调用PostAsync。80%的时间这篇文章有效,20%的时间我们的回复被缩短。在这种情况下,我们得到以下异常:System.Net.Http.HttpRequestException:Errorwhilecopyingcontenttoastream.--->System.IO.IOException:Unabletoreaddatafromthetransportconnection:Anexistingconnectionwasforciblyclosedbytheremotehost.--