草庐IT

c# 包含不区分大小写的搜索

我有以下代码varreturnData=DemoData.Books.AsQueryable();if(criteria.Author!=string.Empty){returnData=returnData.Where(x=>x.Author.Contains(criteria.Author));}如何使where子句不区分大小写? 最佳答案 您可以使用ToLower()函数。ToLower将字符串更改为全部小写。它转换整个字符串,而不更改已经小写的字母或数字。它复制一个字符串并返回对新字符串的引用。因此,在查询之外声明crite

c# - 如何让 C# 区分不明确的类名?

如何让C#区分不明确的类类型,而不必每次都指定完整的HtmlAgilityPack.HtmlDocument名称(与System.Windows.Forms.HtmlDocument)?有没有办法让C#知道我总是在谈论一个类或另一个类,从而不必在每次使用它时都指定它? 最佳答案 使用别名:usingHapHtmlDocument=HtmlAgilityPack.HtmlDocument;usingWfHtmlDocument=System.Windows.Forms.HtmlDocument;

c# - 使用 InvariantCultureIgnoreCase 而不是 ToUpper 进行不区分大小写的字符串比较

在thispage,一位评论者写道:永远不要使用.ToUpper来确保比较字符串时不区分大小写。取而代之的是:type.Name.ToUpper()==(controllerName.ToUpper()+"Controller".ToUpper()))这样做:type.Name.Equals(controllerName+"Controller",StringComparison.InvariantCultureIgnoreCase)为什么首选这种方式? 最佳答案 这里是详细的答案..TheTurkeyTest(阅读第3部分)Asd

c# - 为什么 Asp.net MVC 不能区分具有不同参数的两个 Action ?

我正在尝试在我的Asp.netMVC应用程序中使用两种不同的帐户注册方法,一种供一般用户注册,另一种供使用特定注册token注册的用户使用。因此,我的AccountController中有以下方法签名:publicvirtualActionResultRegister(){...}publicvirtualActionResultRegister(GuidregistrationToken){...}但是,当我转到http://localhost/Account/Register时,我得到一个异常,即当前请求在这两个操作之间不明确。我的印象是,如果没有传入registrationTok

c# - 不区分大小写的 GetMethod?

foreach(varfilterinfilters){varfilterType=typeof(Filters);varmethod=filterType.GetMethod(filter);if(method!=null)value=(string)method.Invoke(null,new[]{value});}获取方法有没有不区分大小写的方法? 最佳答案 是的,使用BindingFlags.IgnoreCase:varmethod=filterType.GetMethod(filter,BindingFlags.Ignor

c# - 区分 C# SqlConnection 中具有相同名称的 2 个 SQL 列名称

我在SQL查询中使用不同的别名两次连接了相同的2个表,使我能够选择2个(可能但不总是)不同的地址ID,然后链接到地址表。SELECTC.court_id,C.court_name,CA.court_address,CA2.court_address...FROMcourtC"+JOINcourt_addrCAONC.court_addr_id=CA.court_addr_id"+JOINcourt_addrCA2ONC.court_postal_addr_id=CA2.court_addr_id"+...现在,当尝试使用ASP.NETC#输出此查询的结果时,我不确定如何将两个地址中的哪

c# - 为什么人们喜欢区分大小写?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion只是想知道为什么人们喜欢编程语言区分大小写?我不是想挑起一场口水战,只是好奇罢了。就我个人而言,我从来没有真正喜欢过它,因为当我尝试使用一种区分大小写的语言时,我发现我的工作效率下降了,请注意,我正在慢慢热身/习惯它,因为我现在更多地使用C#和F#我曾经。那你为什么喜欢它呢?干杯

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

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

c# - 正确区分bool?和 bool 在 C#

我试图找出一个变量是否是一个简单的bool或Nullable.好像是if(valisNullable)bool均返回真和Nullable变量和if(valisbool)对于bool也都返回true和Nullable.基本上,我感兴趣的是找出一个简单的bool变量为trueOR如果Nullable变量不为空。有什么方法可以做到这一点?完整代码如下:Listvalues=typeof(InstViewModel).GetProperties().Where(prop=>prop!="SubCollection"&&prop!="ID"&&prop!="Name"&&prop!="Level

c# - 不区分大小写的字符串比较在 C# 中不起作用?

基于对这个问题的回答:HowcanIdoacaseinsensitivestringcomparison?我正在尝试不使用Compare或ToLower进行不区分大小写的比较:varuser=db.Users.FirstOrDefault(s=>String.Equals(s.Username,username,StringComparison.OrdinalIgnoreCase));但是我得到一个错误:Incorrectnumberofargumentssuppliedforcalltomethod'BooleanEquals(System.String,System.String,