我正在尝试初始化一个自己的视图模型,其中每个属性都设置为null
或""
但是当我使用
ViewModel model = new ViewModel
int
类型的任何属性都设置为0
作为其值。我知道我可以进入并手动将每个属性设置为null
或""
,但这可能会变得很长,初始化完全空视图模型的正确方法是什么?
答案 0 :(得分:7)
int
类型的媒体资源不能是null
或""
如果你想这样做,你应该创建一个Nullable<int>
(对于null
):
class ViewModel
{
public int? SomeInt{get; set;}
}
将int设置为""
完全没有意义
答案 1 :(得分:0)
无论您使用的是哪个类(Model或ViewModel),只能在?
之类的类型之后按int
后缀设置可空字段。请注意,System.String
是引用类型,已经可以为空。 Nullable<T>
和?
后缀适用于Int32
,double
,DateTime
等值类型。
public int? name {get; set;}//as nullable field
和
public int name {get; set;}//as not nullable field