让我们假设我有一个User类
public Class User { public string Name { get; set; } public string Surname { get; set; } public int Level {get;set;} } User user1 = new User(); user1.Name = "name"; user1.Surname = "Surname"; user1.Level = 0; User user2 = new User(); user2.Name = "name"; user2.Surname = "Surname";当我检查user1.Level == user2.Level它返回true因为默认的int值是0 。
那么有没有办法做到这一点我可以理解user2 Level属性没有设置,所以我可以说这两个不相同?
Lets assume I have a User class
public Class User { public string Name { get; set; } public string Surname { get; set; } public int Level {get;set;} } User user1 = new User(); user1.Name = "name"; user1.Surname = "Surname"; user1.Level = 0; User user2 = new User(); user2.Name = "name"; user2.Surname = "Surname";When I check user1.Level == user2.Level it returns true since default int value is 0.
So is there any way to do that I can understand that Level property of user2 is not set so that I can say these two are not identical?
最满意答案
1)如果你使用int? 作为Level的类型,未设置时为NULL。
public Class User { public string Name { get; set; } public string Surname { get; set; } public int? Level {get;set;} }2)您可以使用level属性的setter,并在设置新值时设置布尔值,如果其他建议的解决方案对您不利。 例:
public Class User { public string Name { get; set; } public string Surname { get; set; } private int _Level; public int Level { get { return _Level; } set { _Level= value; _hasLevel = true; } } public bool HasLevel { get { return _hasLevel; } } }1) If you use int? as type for Level, it will be NULL when not setted.
public Class User { public string Name { get; set; } public string Surname { get; set; } public int? Level {get;set;} }2) you can use the setter of the level attribute and set a boolean when you set a new value, if the other proposed solution is not good for you. Example:
public Class User { public string Name { get; set; } public string Surname { get; set; } private int _Level; public int Level { get { return _Level; } set { _Level= value; _hasLevel = true; } } public bool HasLevel { get { return _hasLevel; } } }更多推荐
user,Level,int,User,电脑培训,计算机培训,IT培训"/> <meta name="descripti
发布评论