jjzjj

non-nullable

全部标签

c# - Lazy<T> 延迟加载错误 : A field initializer cannot reference the non-static field, 方法或属性

我第一次尝试使用延迟加载来初始化我的类中的进度对象。但是,我收到以下错误:Afieldinitializercannotreferencethenon-staticfield,method,orproperty.privateLazym_progress=newLazy(()=>{longtotalBytes=m_transferManager.TotalSize();returnnewProgress(totalBytes);});在.NET2.0中,我可以执行以下操作,但我更愿意使用更新的方法:privateProgressm_progress;privateProgressPro

c# - LINQ to SQL insert-if-non-existent

我想知道是否有更简单的方法来插入表中尚不存在的记录。我仍在努力培养我的LINQtoSQL技能。这是我得到的,但似乎应该有更简单的方法。publicstaticTEntityInsertIfNotExists(DataContextdb,Tabletable,Funcwhere,TEntityrecord)whereTEntity:class{TEntityexisting=table.SingleOrDefault(where);if(existing!=null){returnexisting;}else{table.InsertOnSubmit(record);//Can'tuse

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# - The non-generic method cannot be used with type arguments in this context 是什么意思?

我有以下类和方法:publicclassUserManager:IDisposablewhereTUser:class,global::Microsoft.AspNet.Identity.IUserwhereTKey:global::System.IEquatable{publicvirtualTaskFindByIdAsync(TKeyuserId);和:privateApplicationUserManager_userManager;publicApplicationUserManagerUserManager{get{return_userManager??Request.Ge

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# - 通过反射设置属性 Nullable<>

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

c# - 为什么 == 运算符在未定义 == 时对 Nullable<T> 起作用?

我只是在看thisanswer,其中包含Nullable的代码从.NETReflector,我注意到两件事:从Nullable开始时需要显式转换至T.==运算符未定义。鉴于这两个事实,编译结果令我感到惊讶:int?value=10;Assert.IsTrue(value==10);使用代码value==10,value正在神奇地转换为int(因此允许使用int的==运算符,或者==运算符被神奇地定义为Nullable。(或者,我认为不太可能,Reflector遗漏了一些代码。)我希望必须执行以下操作之一:Assert.IsTrue((value.Equals(10));//worksb

c# - 哪个是首选 : new Nullable<int> or (int? )null?

在这样的表达式中首选哪种方式:int?Id{get{inti;returnInt32.TryParse(Request["id"],outi)?i:(int?)null;}}在null上转换更好吗?或者创建一个newNullable? 最佳答案 最好的是default(int?),因为它总是按预期工作(引用类型、值类型,甚至在泛型中)。 关于c#-哪个是首选:newNullableor(int?)null?,我们在StackOverflow上找到一个类似的问题:

c# - Nullable<bool> 类型有什么用?

bool变量可以是true或false,而bool?也可以是null。为什么我们需要bool的第三个值?如果它不是true,无论它是什么,它都是==false你能建议一个我喜欢bool?的场景吗?谢谢 最佳答案 出于多种原因,某些内容可能为真、假或未定义。如何回答“你的第三个child是女孩?”如果一个人只有两个child呢?true和false都不正确。Null表示比较不适用。 关于c#-Nullable类型有什么用?,我们在StackOverflow上找到一个类似的问题: