我想初始化一个对象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
};
我假设UserModel
的Gender
成员是可空的。
如果不是,那么你应该用一些备用值替换null
,如Gender.Unknown