我想初始化一个对象(UserModel)为空对象而不是null



我想初始化一个对象UserModel为空而不是null。

我问这个问题的原因是我想去掉下面这段代码:

user = new UserModel { ISOCode= "ZAF", Gender = Gender.Male }

我不想把new放到if语句里,我只想赋值给空对象。

UserModel user = null;
string mAge = Person.PersonContext.FirstOrDefault(x => x.Gender.ToLower() == "male");
string fAge = Person.PersonContext.FirstOrDefault(x => x.Gender.ToLower() == "female");
if (!string.IsNullOrEmpty(mAge))
{
user = new UserModel { ISOCode= "ZAF", Gender = Gender.Male }
}
else if (!string.IsNullOrEmpty(fAge))
{
user = new UserModel { ISOCode = "USA",  Gender = Gender.Female} 
}

您可以使用new关键字,

UserModel user = new UserModel();  //Initialize with default constructor
string mAge = "";
string fAge= "";

if (!string.IsNullOrEmpty(mAge))
user.Gender = Gender.Male;
else if (!string.IsNullOrEmpty(fAge))
user.Gender = Gender.Female;

如何使用嵌套条件操作符?

var user = new UserModel 
{ 
Gender = 
!string.IsNullOrEmpty(mAge) ? Gender.Male : 
!string.IsNullOrEmpty(fAge) ? Gender.Female : null 
};

我假设UserModelGender成员是可空的。
如果不是,那么你应该用一些备用值替换null,如Gender.Unknown

最新更新