jjzjj

Nullable

全部标签

c# - 可为空的日期时间?

如何为可为null的日期时间创建setter和getter属性。例如:privateDateTimemTimeStamp;publicDateTimeTimeStamp{get{returnmTimeStamp;}set{mTimeStamp=value;}}可空属性是否支持setter和getter或是否必须将其声明为公开?privateDateTime?mTimeStamp;publicDateTimeTimeStamp{} 最佳答案 您可以改为这样做:publicDateTime?TimeStamp{get;set;}如果您在

c# - 为什么此 C# 代码无法编译?

double?test=true?null:1.0;在我的书中,这与if(true){test=null;}else{test=1.0;}但是第一行给出了这个编译器错误:Typeofconditionalexpressioncannotbedeterminedbecausethereisnoimplicitconversionbetween''and'double'. 最佳答案 发生这种情况是因为编译器试图从右到左评估语句。这意味着它看到1.0并确定它是双倍(不是双倍?),然后它看到null。所以double和null之间显然没有隐

c# - 以 ? 结尾的变量类型

?是什么意思:publicbool?Verbose{get;set;}应用于string?时,出现错误:Thetype'string'mustbeanon-nullablevaluetypeinordertouseitasparameter'T'inthegenerictypeormethod'System.Nullable' 最佳答案 ?使您的不可空(值)类型可以为空。它不适用于string,因为它是引用类型,因此默认情况下可为空。来自MSDN,关于值类型:Unlikereferencetypes,avaluetypecannot

c# - 无法将 null 添加到可空列表

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:AddingnulltoaListcastasanIListthrowinganexception.ListlistONullables=newList();IListdegenericed=listONullables;//ThisworksfinelistONullables.Add(null);//Runtimeexception://"Thevalue""isnotoftype"System.Nullable`1[System.Int32]"//andcannotbeusedinthisgeneric

c# - MVC 3 不绑定(bind) nullable long

我创建了一个测试网站来调试我遇到的问题,看来我传递的JSON数据有误,或者MVC无法绑定(bind)可为null的long。当然,我使用的是最新的MVC3版本。publicclassGetDataModel{publicstringTestString{get;set;}publiclong?TestLong{get;set;}publicint?TestInt{get;set;}}[HttpPost]publicActionResultGetData(GetDataModelmodel){//Dostuff}我正在发布一个具有正确JSON内容类型的JSON字符串:{"TestStri

c# - 使用三元表达式分配给可空类型时,将 null 转换为可空是否正确?

将null转换为类型对我来说感觉很奇怪,所以我想仔细检查这是否是正确的方法:decimal?d=data.isSpecified?data.Value:(decimal?)null;注意:我正在标记建议我个人最喜欢的方法的答案:decimal?d=data.isSpecified?data.Value:default(decimal?) 最佳答案 是的,没关系。备选方案:condition?(decimal?)value:nullcondition?newdecimal?(value):nullcondition?value:def

c# - 类型 'T' 必须是不可为 null 的值类型才能将其用作泛型类型或方法 'T' 中的参数 'System.Nullable<T>'

为什么我在以下代码中会收到此错误?voidMain(){int?a=1;int?b=AddOne(1);a.Dump();}staticNullableAddOne(Nullablenullable){returnApplyFunction(nullable,(intx)=>x+1);}staticNullableApplyFunction(Nullablenullable,Funcfunction){if(nullable.HasValue){Tunwrapped=nullable.Value;TResultresult=function(unwrapped);returnnewNu

c# - C# 中可空类型的替代方法

我正在编写适用于数字数据系列的算法,有时系列中的值需要为空。但是,由于此应用程序对性能至关重要,因此我避免使用可空类型。我对算法进行了性能测试,以专门比较使用可空类型与非可空类型的性能,在最好的情况下,可空类型的速度要慢2倍,但通常更糟。最常用的数据类型是double,目前选择的null替代方法是double.NaN。但是我知道这不是NaN值的确切预期用途,所以我不确定这是否存在我无法预见的任何问题以及最佳实践是什么。我有兴趣找出以下数据类型的最佳null替代方案,特别是:double/float、decimal、DateTime、int/long(尽管我们非常欢迎其他类型)编辑:我想

c# - 如何创建具有空值支持的结构?

我是C#新手。在C#中,我无法将结构的值设置为null如何创建支持null值的结构? 最佳答案 通过使用GenericNullable类来包装结构和值类型,可以使它们可以为空。例如:Nullablenum1=null;C#通过在类型后添加问号为此提供了一种语言功能:int?num1=null;同样适用于任何值类型,包括结构。MSDN说明:NullableTypes(c#) 关于c#-如何创建具有空值支持的结构?,我们在StackOverflow上找到一个类似的问题:

c# - 通过反射设置属性 Nullable<>

我尝试动态设置一个Nullable属性。我得到我的属性(property)ex:PropertyInfoproperty=class.GetProperty("PropertyName");//MypropertyisNullableatthistimeSothetypecouldbeastringorint我想像这样通过反射来设置我的属性property.SetValue(class,"1256",null);当我的属性是NullableGeneric时它不起作用。所以我试图找到一种方法来设置我的属性。了解我执行的可空属性的类型Nullable.GetUnderlyingType(p