如何将新Guid添加到字符串列表?

时间:2012-01-19 07:22:27

标签: c# list c#-4.0 login guid

我得到“对象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”?

...谢谢

2 个答案:

答案 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,这就是你获得该异常的原因。

请注意,我强烈建议您首先使用这样的全局状态,并且以使用公共字段。