草庐IT

value_id

全部标签

c# - 打开可空 bool 值 : case goes to null when value is true

我意识到处理可空类型的正确方法是使用HasValue属性。但我想知道为什么以下switch语句会在null情况下而不是默认情况下中断。使用VS2015C#4.0。另一台使用VS2010C#4.0的计算机没有同样的问题。privatevoidTesting(){bool?boolValue=true;switch(boolValue){casenull:break;//eventhoughvalueistrue,coderunsheredefault:break;}}编辑:观察到任何Nullable的行为如果只有caseNull和default已指定。 最佳答

c# - 打开可空 bool 值 : case goes to null when value is true

我意识到处理可空类型的正确方法是使用HasValue属性。但我想知道为什么以下switch语句会在null情况下而不是默认情况下中断。使用VS2015C#4.0。另一台使用VS2010C#4.0的计算机没有同样的问题。privatevoidTesting(){bool?boolValue=true;switch(boolValue){casenull:break;//eventhoughvalueistrue,coderunsheredefault:break;}}编辑:观察到任何Nullable的行为如果只有caseNull和default已指定。 最佳答

c# - 在内部链接和 HTML 链接的 OneNote Id 之间进行转换?

我正在尝试跟踪OneNote页面中的链接,以通过OneNoteAPI获取链接页面的内容。HTML链接如下所示:(删除了一些文本)onenote:..\Partners\Cloud.one#Integrated%20Asset%20Manager%20(IAM)§ion-id={DEDAE503-E375-49F2-B93D-F38B4121C70C}&page-id={7BF5121A-0B6C-4B08-9EAE-8FF2030257EE}&end&base-path={full-path-here}尝试使用链接的页面ID执行OneNoteApplication.GetPag

c# - CodeContracts : Boolean condition evaluates to a constant value, 为什么?

我收到此警告但无法找出问题...CodeContracts:warning:TheBooleanconditiond1.Count!=d2.Countalwaysevaluatestoaconstantvalue.Ifit(oritsnegation)appearinthesourcecode,youmayhavesomedeadcodeorredundantcheck代码如下:publicstaticboolDictionaryEquals(IDictionaryd1,IDictionaryd2){if(d1==d2)returntrue;if(d1==null||d2==null)

c# - 如何从 DEV_BROADCAST_DEVICEINTERFACE 和设备实例 ID 获取友好的设备名称

我已经用RegisterDeviceNotification注册了一个窗口并能成功收到DEV_BROADCAST_DEVICEINTERFACE消息。但是,返回的结构中的dbcc_name字段始终为空。我的结构是这样定义的:[StructLayout(LayoutKind.Sequential)]publicstructDEV_BROADCAST_DEVICEINTERFACE{publicintdbcc_size;publicintdbcc_devicetype;publicintdbcc_reserved;publicGuiddbcc_classguid;[MarshalAs(Un

c# - 使用 USB 条码扫描仪读取条码并忽略键盘数据输入,而扫描仪产品 ID 和供应商 ID 未知

有没有办法在忽略键盘并且不知道USB扫描仪的PID或VID的情况下从USB条形码阅读器读取?我知道有一种方法可以通过使用USB扫描仪的VID和/或PID来区分USB扫描仪输入和键盘输入;这是使用http://nicholas.piasecki.name/blog/2009/02/distinguishing-barcode-scanners-from-the-keyboard-in-winforms/中的代码完成的但是是否有另一种解决方案来区分键盘和USB扫描仪,而无需将扫描仪的VID或PID放入配置文件(或源代码)中?不想将各种VID或PID放在配置文件中的原因是,正在开发的应用程序

c# - 返回具有 id == 某物的元素的行号的 LINQ 语句?

如何编写返回id==元素的ROWNUMBER的LINQ语句? 最佳答案 据我所知,没有直接的方法可以做到这一点。您必须将整个查询下拉到客户端,然后您可以从那里转换行号。作为替代方案,您可以编写一个使用ROW_NUMBER的存储过程,然后从LinqtoSQL命中该过程。在您的情况下,您能够做到这一点的唯一方法是客户端。请记住,以下语句不会在服务器上执行此操作,但会拉下整个表并在客户端获取索引...using(vardc=newDataClasses1DataContext()){varresult=dc.Users.AsEnumera

c# - 在 Linq-To-Sql 中避免 "Nullable object must have a value."

我有一个这样的方法查询:publicIListGetBusinessObject(Guid?filterId){using(vardb=newL2SDataContext()){varresult=fromboindb.BusinessObjectswhere(filterId.HasValue)?bo.Filter==filterId.value:trueorderbybo.NameselectSqlModelConverters.ConvertBusinessObject(bo);returnresult.ToList();}}在运行时,这会抛出一个System.InvalidOp

c# - GetMonthName : Valid values are between 1 and 13, 包括在内。为什么?

我不小心将0传递给DateTimeFormatInfo的GetMonthName方法:DateTimeFormatInfoinfo=newDateTimeFormatInfo();varmonthName=info.GetMonthName(0);并得到一个System.ArgumentOutOfRangeException错误消息:有效值在1到13之间,包括在内。传入1到12将返回“January”到“December”,但传入13将返回一个空字符串。我明白为什么月份数字不是零索引的,但是第13个月是做什么用的? 最佳答案 这是因

c# - 将 DBNull.Value 和空文本框值传递给数据库

这个问题在这里已经有了答案:HowdoIParameterizeanullstringwithDBNull.Valueclearlyandquickly(8个答案)关闭8年前。我的页面上有一些文本框可以为空,因为它们是可选的,而且我有这个DAL代码parameters.Add(newSqlParameter("@FirstName",FirstName));parameters.Add(newSqlParameter("@LastName",LastName));parameters.Add(newSqlParameter("@DisplayName",DisplayName));pa