草庐IT

Nullable

全部标签

c# - 具有 Nullable<value> 类型的条件运算符赋值?

EmployeeNumber=string.IsNullOrEmpty(employeeNumberTextBox.Text)?null:Convert.ToInt32(employeeNumberTextBox.Text),我经常发现自己想做这样的事情(EmployeeNumber是一个Nullable,因为它是LINQ-to-SQLdbml对象的一个​​属性,其中列允许NULL值)。不幸的是,编译器认为Thereisnoimplicitconversionbetween'null'and'int'即使这两种类型在对它们自己的可空int的赋值操作中都是有效的。据我所知,使用null合

c# - 具有 Nullable<value> 类型的条件运算符赋值?

EmployeeNumber=string.IsNullOrEmpty(employeeNumberTextBox.Text)?null:Convert.ToInt32(employeeNumberTextBox.Text),我经常发现自己想做这样的事情(EmployeeNumber是一个Nullable,因为它是LINQ-to-SQLdbml对象的一个​​属性,其中列允许NULL值)。不幸的是,编译器认为Thereisnoimplicitconversionbetween'null'and'int'即使这两种类型在对它们自己的可空int的赋值操作中都是有效的。据我所知,使用null合

c# - 从 int 提升/可空转换的严重错误,允许从 decimal 转换

我认为这个问题会让我在StackOverflow上一炮走红。假设您有以下类型://representsadecimalnumberwithatmosttwodecimalplacesaftertheperiodstructNumberFixedPoint2{decimalnumber;//anintegerhasnofractionalpart;canconverttothistypepublicstaticimplicitoperatorNumberFixedPoint2(intinteger){returnnewNumberFixedPoint2{number=integer};}

c# - 从 int 提升/可空转换的严重错误,允许从 decimal 转换

我认为这个问题会让我在StackOverflow上一炮走红。假设您有以下类型://representsadecimalnumberwithatmosttwodecimalplacesaftertheperiodstructNumberFixedPoint2{decimalnumber;//anintegerhasnofractionalpart;canconverttothistypepublicstaticimplicitoperatorNumberFixedPoint2(intinteger){returnnewNumberFixedPoint2{number=integer};}

C# 枚举 : Nullable or 'Unknown' Value?

如果我有一个带有enum成员的类,并且我希望能够表示未定义该成员的情况,哪个更好?a)使用可空类型在类中将成员声明为可空。例如:publicSomeEnum?myEnum;b)向枚举添加默认的“未知”值。例如:publicenumSomeEnum{Unknown,SomeValueA,SomeValueB,SomeValueC,}我真的看不出任何主要的优点/缺点;但也许一个比另一个更可取? 最佳答案 一定要使用可空值类型——这就是它们的用途。它明确说明了您的意图。这也意味着您可以使用Enum.IsDefined(或者来自Uncons

C# 枚举 : Nullable or 'Unknown' Value?

如果我有一个带有enum成员的类,并且我希望能够表示未定义该成员的情况,哪个更好?a)使用可空类型在类中将成员声明为可空。例如:publicSomeEnum?myEnum;b)向枚举添加默认的“未知”值。例如:publicenumSomeEnum{Unknown,SomeValueA,SomeValueB,SomeValueC,}我真的看不出任何主要的优点/缺点;但也许一个比另一个更可取? 最佳答案 一定要使用可空值类型——这就是它们的用途。它明确说明了您的意图。这也意味着您可以使用Enum.IsDefined(或者来自Uncons

c# - "DateTime?"在 C# 中是什么意思?

我正在阅读一本.NET书籍,其中一个代码示例中有一个包含此字段的类定义:privateDateTime?startdateDateTime?是什么意思? 最佳答案 自DateTime是struct,不是class,你会得到一个DateTime对象,而不是引用,当您声明该类型的字段或变量时。并且,以与int相同的方式不能是null,所以这个DateTime对象永远不能是null,因为它不是引用。添加问号会将其变成nullabletype,这意味着要么它是DateTime对象,或它是null.DateTime?是Nullable的语法糖

c# - "DateTime?"在 C# 中是什么意思?

我正在阅读一本.NET书籍,其中一个代码示例中有一个包含此字段的类定义:privateDateTime?startdateDateTime?是什么意思? 最佳答案 自DateTime是struct,不是class,你会得到一个DateTime对象,而不是引用,当您声明该类型的字段或变量时。并且,以与int相同的方式不能是null,所以这个DateTime对象永远不能是null,因为它不是引用。添加问号会将其变成nullabletype,这意味着要么它是DateTime对象,或它是null.DateTime?是Nullable的语法糖

c# - 从 'System.Int32' 到 'System.Nullable` 1[[System.Int32, mscorlib]] 的转换无效

Typet=typeof(int?);//willgetthisdynamicallyobjectval=5;//willgetthisdynamicallyobjectnVal=Convert.ChangeType(val,t);//gettingexceptionhere我在上面的代码中得到了InvalidCastException。对于上面我可以简单地写int?nVal=val,但上面的代码是动态执行的。我得到一个值(不可为null的类型,如int、float等)包裹在一个对象(这里是val)中,我必须通过将它转换为另一种类型(可以或不能)来将它保存到另一个对象是它的可空版本)。

c# - 从 'System.Int32' 到 'System.Nullable` 1[[System.Int32, mscorlib]] 的转换无效

Typet=typeof(int?);//willgetthisdynamicallyobjectval=5;//willgetthisdynamicallyobjectnVal=Convert.ChangeType(val,t);//gettingexceptionhere我在上面的代码中得到了InvalidCastException。对于上面我可以简单地写int?nVal=val,但上面的代码是动态执行的。我得到一个值(不可为null的类型,如int、float等)包裹在一个对象(这里是val)中,我必须通过将它转换为另一种类型(可以或不能)来将它保存到另一个对象是它的可空版本)。