草庐IT

nullable

全部标签

c# - WPF 数据绑定(bind) : Nullable Int still gets a validation error?

我有一个文本框通过代码数据绑定(bind)到一个可为空的int。如果我从文本框中删除数据,则会出现验证错误(周围有红色边框)。这是我的绑定(bind)代码:ZipBinding=newBinding("Zip");ZipBinding.Source=Address;zipTextBox.SetBinding(TextBox.TextProperty,ZipBinding);publicInt32?Zip{get{...}set{...}}它清楚地标记为Nullable那么为什么当我清除文本框时WPF想要给我一个验证问题? 最佳答案

c# - 我该如何解决这个问题以对 Nullable<T> 进行泛型转换?

我目前使用这个方便的转换扩展方法来进行类型之间的转换:publicstaticTTo(thisIConvertibleobj){return(T)Convert.ChangeType(obj,typeof(T));}但是,它不喜欢将有效值转换为Nullable,例如,这会失败:"1".To();显然,1很容易转换为(int?),但它得到错误:Invalidcastfrom'System.String'to'System.Nullable`1[[System.Int32,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77

c# - 我该如何解决这个问题以对 Nullable<T> 进行泛型转换?

我目前使用这个方便的转换扩展方法来进行类型之间的转换:publicstaticTTo(thisIConvertibleobj){return(T)Convert.ChangeType(obj,typeof(T));}但是,它不喜欢将有效值转换为Nullable,例如,这会失败:"1".To();显然,1很容易转换为(int?),但它得到错误:Invalidcastfrom'System.String'to'System.Nullable`1[[System.Int32,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77

C# ADO.NET : nulls and DbNull -- is there more efficient syntax?

我有一个DateTime?,我正尝试使用DbParameter将其插入到一个字段中。我正在这样创建参数:DbParameterdatePrm=updateStmt.CreateParameter();datePrm.ParameterName="@change_date";然后我想将DateTime?的值放入dataPrm.Value中,同时考虑null。一开始我以为我会很聪明:datePrm.Value=nullableDate??DBNull.Value;但是失败并出现错误Operator'??'cannotbeappliedtooperandsoftype'System.Date

C# ADO.NET : nulls and DbNull -- is there more efficient syntax?

我有一个DateTime?,我正尝试使用DbParameter将其插入到一个字段中。我正在这样创建参数:DbParameterdatePrm=updateStmt.CreateParameter();datePrm.ParameterName="@change_date";然后我想将DateTime?的值放入dataPrm.Value中,同时考虑null。一开始我以为我会很聪明:datePrm.Value=nullableDate??DBNull.Value;但是失败并出现错误Operator'??'cannotbeappliedtooperandsoftype'System.Date

c# - C# switch 语句的默认标签将如何处理可为 null 的枚举?

C#switch语句的默认标签将如何处理可为null的枚举?默认标签会捕获空值和任何未处理的情况吗? 最佳答案 如果为空,它将命中默认标签。publicenumYesNo{Yes,No,}publicclassProgram{publicstaticvoidMain(string[]args){YesNo?value=null;switch(value){caseYesNo.Yes:Console.WriteLine("Yes");break;caseYesNo.No:Console.WriteLine("No");break;de

c# - C# switch 语句的默认标签将如何处理可为 null 的枚举?

C#switch语句的默认标签将如何处理可为null的枚举?默认标签会捕获空值和任何未处理的情况吗? 最佳答案 如果为空,它将命中默认标签。publicenumYesNo{Yes,No,}publicclassProgram{publicstaticvoidMain(string[]args){YesNo?value=null;switch(value){caseYesNo.Yes:Console.WriteLine("Yes");break;caseYesNo.No:Console.WriteLine("No");break;de

c# - 如何在 C# 中将空值设置为 int?

intvalue=0;if(value==0){value=null;}如何将上面的value设置为null?我们将不胜感激。 最佳答案 在.Net中,您不能分配nullint的值或任何其他结构。相反,使用Nullable,或int?简而言之:int?value=0;if(value==0){value=null;}延伸阅读NullableTypes(C#ProgrammingGuide) 关于c#-如何在C#中将空值设置为int?,我们在StackOverflow上找到一个类似的问题:

c# - 如何在 C# 中将空值设置为 int?

intvalue=0;if(value==0){value=null;}如何将上面的value设置为null?我们将不胜感激。 最佳答案 在.Net中,您不能分配nullint的值或任何其他结构。相反,使用Nullable,或int?简而言之:int?value=0;if(value==0){value=null;}延伸阅读NullableTypes(C#ProgrammingGuide) 关于c#-如何在C#中将空值设置为int?,我们在StackOverflow上找到一个类似的问题:

c# - "bool"和 "bool?"有什么区别?

我对变量使用“bool”类型,就像我在C++中习惯的那样,并且我尝试将我希望为boolean值的函数或属性的值放入我的变量中。但是我经常遇到结果类型是“bool?”的情况。而不是“bool”,隐式转换失败。两者有什么区别,分别在什么时候使用?另外,我应该使用“bool”吗?作为我的变量的类型?这是最佳做法吗? 最佳答案 ?类型后的符号只是Nullabletype的快捷方式,bool?相当于Nullable.bool是valuetype,这意味着它不能是null,因此Nullable类型基本上允许您包装值类型,并且能够分配null给他