草庐IT

g_null_acl

全部标签

c# 代码似乎以一种无效的方式进行了优化,使得对象值变为 null

我的以下代码出现了一个奇怪的问题:varall=newFeatureService().FindAll();System.Diagnostics.Debug.Assert(all!=null,"FindAllmustnotreturnnull");System.Diagnostics.Debug.WriteLine(all.ToString());//throwsNullReferenceExceptionFindAll方法的签名是:publicListFindAll()通过代码我已经确认FindAll的返回值不为空,正如您从断言中看到的那样,“all”变量不为空,但在下一行中它似乎为

c# - 空文本框是否被视为空字符串或 null?

有问题的文本框包含在我的代码中的if语句中,其效果为if(textbox.text!=""){dothis}我很好奇空文本框是否会被视为空字符串或空语句。 最佳答案 尝试使用IsNullOrWhiteSpace,这将确保验证空白,而无需修剪它。if(!string.IsNullOrWhiteSpace(textbox.Text)){//codehere}根据文档string.IsNullOrWhiteSpace计算为:returnString.IsNullOrEmpty(value)||value.Trim().Length==0;

c# - ExternalLoginInfo 电子邮件在 Microsoft 和 Facebook oauth2、MVC C# 中始终为 null?

我正在为ExternalLoginCallback使用以下代码在google中一切正常。但在Facebook和Microsoft中,loginInfo.Email始终为空。以下代码有什么问题?[AllowAnonymous]publicasyncTaskExternalLoginCallback(stringreturnUrl){ExternalLoginInfologinInfo=awaitAuthenticationManager.GetExternalLoginInfoAsync();if(loginInfo==null){returnRedirectToAction("Logi

c# - 在输入 json 中将值 {null} 转换为类型 'System.DateTime' 时出错

当我尝试在我的Json中输入以下DateTime参数时抛出此JsonSerializationException:"Errorconvertingvalue{null}totype'System.DateTime'ininputjson"我在这里给出了输入:stringinputJSONString="{....,\"StartDateFrom\":null,\"StartDateTo\":null,\"EndDateFrom\":null,\"EndDateTo\":null,\....}";反序列化使用:scT=(SearchCriteriaTask)JsonConvert.Des

c# - 为什么 null == false 在 c# 中不会导致编译错误?

这个问题在这里已经有了答案:C#okaywithcomparingvaluetypestonull(11个答案)关闭9年前。这不是为了解决任何特定问题。只是一个编译器问题。为什么下面的代码不会导致编译错误?它将引用类型与原始类型进行比较。null和false都必须被解释为编译器进行比较的东西。或者解析器只是简单地扫描这种模式并将其替换为false?if(null==false){}

c# - String.Empty 和 “” 和 null 有什么区别?

这个问题在这里已经有了答案:关闭13年前。PossibleDuplicate:WhatisthedifferencebetweenString.Emptyand“”""是否等同于String.Empty?哪个是初始化字符串值的首选?

c# - 在 null IEnumerables 上为 Count() 返回零

我已经厌倦了使用这样的代码:varcount=0;if(myEnumerable!=null){count=myEnumerable.Count();}这有点迂腐:varcount=(myEnumerable??newstring[0]).Count();有没有更简洁的方法来做到这一点?我曾经在IEnumerable上有一个(名字不好的)PhantomCount扩展方法,它使用了我的第一个代码示例,但它有一些味道(除了名字之外)。 最佳答案 问题实际上出在创建这些可枚举对象的任何方面。除非你有充分的理由,否则任何生成可迭代集合的东西

c# - XmlCodeExporter 和可为 null 的类型

System.Xml.Serialization.XmlCodeExporter从XSD架构生成代码(以代码CodeDom形式)。但它有一些怪癖。例如一个可选元素:我希望这会生成一个类型为Nullable的相应代码成员,但它实际上创建了一个decimal类型的成员,然后是一个单独的SomethingSpecified应单独切换以指示空值的字段。这可能是因为该库是在引入可空类型之前创建的,但它导致代码非常不方便。是否可以调整此代码生成,或者是否有替代工具可以在这种情况下生成更好的代码?编辑:我知道我可以修改架构并添加nillable='true',但我不想更改架构来解决代码生成的限制。

c# - 为什么C#null在VB6中被翻译成Empty,而不是Nothing

我有一个引用VB6dll的C#应用程序。当我将null从C#传递到VB6dll函数时,null在VB6中被翻译为值Empty(值),而不是Nothing(对象)。例如://functioninvb6dllthatreferencedbyc#appPublicSubTestFunc(ByValoValueAsVariant){...ifoValueisNothingthensetoValue=someObjectendif...}//mainc#codeprivatevoidForm1_Load(objectsender,EventArgse){objecttestObject=newo

c# - Json.NET 序列化中有没有办法区分 "null because not present"和 "null because null"?

我在ASP.NETwebapi代码库中工作,我们在很大程度上依赖于通过JSON.NET自动支持将消息主体的JSON反序列化为.NET对象。作为为我们的一项资源构建补丁支持的一部分,我非常想区分JSON对象中不存在的可选属性与显式为null的同一属性。我的意图是将第一个用于“不要更改那里的内容”与“删除此内容”。有谁知道是否可以标记我的C#DTO,以便在它们被反序列化时JSON.NET可以告诉我它是哪种情况?现在它们只是作为null出现,我不知道为什么。相反,如果有人能想出一个更好的设计,不需要我这样做,同时仍然支持补丁动词,我很想听听你的建议。作为一个具体的例子,考虑将传递给put的这