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

I want to initialize an Object (UserModel ) to empty object instead of a null

我想将 Object 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