草庐IT

if-null-then-null

全部标签

c# - 如何使用 Dapper 将字符串作为 NULL 发送到 SQLServer?

我有一个场景,其中C#中的字符串可以是null。我需要它在SQLServer上为NULL。我使用Dapper将其发送到SQLServer,查询如下:connection.Query("[dbo].[sp_MyStoredProcedure]"),new{StartDate:startDate},commandType:CommandType.StoredProcedure);其中startDate是有时可以等于null的字符串。存储过程的参数是@StartDatevarchar(10)=NULL当它为NULL时,它返回所有记录。我已通过SSMS确认此行为有效。我读了thispostMa

c# - 如何处理 null 或可选的 DLL 结构参数

如何处理使用pinvoke从C#调用的dll方法中的可选struct参数?例如,lpSecurityAttributesparameterhere不存在时应传递null。传递struct的正确方法似乎是使用ref,但它不能有可选参数,或者通常采用null.有什么方法可以实现? 最佳答案 你有几个选择1)使用class而不是struct我觉得这个方法最简单。只需声明struct作为class:[StructLayout(LayoutKind.Sequential)]publicclassCStruct{//member-list}然后

c# - 我如何构建一个包含大量 IF 语句的程序(进程)

我必须为一种复杂的过程创建一个程序。好吧,这个过程并不复杂,但是控制过程的变量很多。我无法详细讲述这个过程,所以我编了一个,它具有相同的IF负载:过程是:我们是否应该停止熔铁炉。我们有这些参数:如果温度超过800摄氏度,请停止除了,当我们预计在接下来的20分钟内可以从toastr2获得冷水时,我们可以继续除了,当温度在接下来的10分钟内上升10度时,我们不能再等10分钟的冷水,所以我们必须停下来。除非,当温度由于某种原因下降到790-800度并持续5分钟时,我们会在需要额外冷水的时间上额外增加5分钟。除非,当温度由于某种原因下降到780-790度并持续5分钟时,我们会在需要额外冷水的时

c# - 在 c# resharper 中建议 "conditional access", null 给我什么?

我使用Resharper来帮助处理语言功能,并且我有一个可以为null的DateTime字段。Resharper建议使用以下语法:TodayDate=paidDate?.ToString("d"),它看起来像一个标准的表达式,但我没有得到一个问号。我得到两个问号和冒号。如有解释,将不胜感激。当paidDate为null时会发生什么? 最佳答案 ?.是C#中引入的新功能,称为Null-conditionalOperators.它仅在paidDate时评估方法调用不为空,并返回null相反。这几乎等同于TodayDate=paidDat

c# - XmlWriter : is calling Close() required if using a using block?

使用usingblock(不调用Close())创建XmlWriter是否足够,还是使用try/finallyblock并在finally中调用Close()更好? 最佳答案 usingblock是try/finallyblock的快捷方式,它在任何实现IDisposable的对象上调用Dispose()。对于流和流编写器,Dispose()通常手动调用Close()。使用反射器,这里是XmlWriter的Dispose方法:protectedvirtualvoidDispose(booldisposing){if(this.Wri

c# - 为什么在没有约束的泛型方法上将可为 null 的值类型与 null 进行比较会比较慢?

我遇到了一个非常有趣的情况,在泛型方法中比较可为null的类型和null比比较值类型或引用类型慢234倍。代码如下:staticboolIsNull(Tinstance){returninstance==null;}执行代码为:int?a=0;stringb="A";intc=0;varwatch=Stopwatch.StartNew();for(inti=0;i上面代码的输出是:00:00:00.187982700:00:00.000877900:00:00.0008532如您所见,将可为空的int与null进行比较比比较int或字符串慢234倍。如果我添加具有正确约束的第二个重载,

c# - Null(在 C# 中)与 Nothing(在 vb.net 中)

C#NULL与vb.netNothing有何不同?Console.WriteLine(Nothing="")=>True对比Console.WriteLine(null=="");=>False我的理解是null和Nothing是一样的。但是上面的代码清楚地说明了它不是。VB.NET中C#null的等价物是什么? 最佳答案 您选择了littlebidcomplexexample来测试vb.net中的Nothing和c#中的null之间的区别来自关于Nothing的Visualbasic语言规范:Nothingisaspecialli

c# - 在 SelectSingleNode : Retrieving individual element from XML if it's present 中使用 XPath

我的XML看起来像:onetwothree.....maybemoreItemshere.一些单独的Item可能存在也可能不存在。假设我想检索元素两个如果它存在。我尝试了以下XPath(在C#中)。XMLNodenode=myXMLdoc.SelectSingleNode("/itemSet[Item='two']")---如果Itemtwo存在,则它只返回第一个元素one。也许这个查询只是指向itemSet中的第一个元素,如果它在某个地方有一个值为2的Item作为子元素。这种解释正确吗?所以我尝试了:XMLNodenode=myXMLdoc.SelectSingleNode("/it

c# - 在 C# 中是否有简写 If-Then-Else 的版本(cond?VB.Net 中的 : b),?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:IsthereaconditionalternaryoperatorinVB.NET?在C#中是否有简写If-Then-Else的版本:c=(a>b)?a:b;意思是……if(a>b){c=a;}else{c=b;}..在VB.Net中?

C# 数据库访问 : DBNull vs null

我们在这里使用自己的ORM,并为我们所有的数据库表提供强类型包装器。我们还允许执行弱类型的临时SQL,但这些查询仍然通过同一个类从数据读取器中获取值。在调整该类以与Oracle一起工作时,我们遇到了一个有趣的问题。使用DBNull.Value还是null更好?使用DBNull.Value有什么好处吗?使用null似乎更“正确”,因为我们已经将自己与DB世界分开,但是有一些含义(例如,当值为null时,您不能盲目地使用ToString())所以这绝对是我们需要有意识地做出决定的事情。 最佳答案 我发现使用null比使用DBnull更好