我得到“对象referance未设置为实例....”错误。我评论这条线......
public Guid Login(string userName, string password)
{
Guid result = new Guid();
if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(password))
{
userName = userName.Trim();
password = password.Trim();
Member member = BusinessDb.LoginDbJobs.GetUser(userName);
if (member != null && member.PasswordDb == password)
{
result = Guid.NewGuid();
Members.Live.Add(result); //--->Object reference not set to an instance of an object.
}
}
return result;
}
会员班是;
if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(password))
{
userName = userName.Trim();
password = password.Trim();
Member member = BusinessDb.LoginDbJobs.GetUser(userName);
if (member != null && member.PasswordDb == password)
{
result = Guid.NewGuid();
Members.Live.Add(result); //--->Object reference not set to an instance of an object.
}
}
return result;
}
那么如何将“new Guid”添加到“List< string> Live”?
...谢谢
答案 0 :(得分:4)
我认为你应该使用:
public class Members
{
public static List<Guid> Live = new List<Guid>();
}
您声明Live
但未对其进行初始化,因此Live
为空!
答案 1 :(得分:2)
没有迹象表明您曾为变量赋值。例如,您可能希望将Members
更改为:
public class Members
{
public static readonly List<Guid> Live = new List<Guid>();
}
如果你不这样做 - 并且不在其他任何地方为它赋值 - 它将始终具有值null
,这就是你获得该异常的原因。
请注意,我强烈建议您不首先使用这样的全局状态,并且不以使用公共字段。