创建用于存储密码的字典类



我正试图在C#中创建一个字典来存储密码。

你能帮帮我吗?我对这个和Stuck都不熟悉。我正在尝试创建

public class PasswordPool
{
    static void Passwords()
    {
        ICollection<KeyValuePair<String, String>> openWith =
            new Dictionary<String, String>();
        openWith.Add(new KeyValuePair<String, String>("User1", "Password"));
        openWith.Add(new KeyValuePair<String, String>("User2", "Password"));
        openWith.Add(new KeyValuePair<String, String>("User3", "Password"));
    }
}

这个代码对我来说不太好。你能告诉我缺少什么

这里有一些问题。

  1. Passwords是静态和私有的原因是什么(如果类成员没有显式访问修饰符,它将是私有的(?由于它是私有的,所以不能在PasswordPool类之外使用它。

  2. 您每次都在Passwords方法中创建字典,但由于它是局部方法变量,因此在该方法之外没有任何用处。此外,由于Passwords方法不返回任何内容,也不对该字典执行任何操作,因此它是无用的。

  3. ICollection<KeyValuePair<String, String>>你真的需要它吗?为什么不简单地Dictionary<string, string>

如果我正确理解了你的目标,并且你正在尝试创建一些类存储密码,并且需要一些静态方法来访问它们,那么你可以尝试这样的方法:

public class PasswordPool
{
    private static Dictionary<string, string> _Passwords;
    private static void InitPasswords()
    {
        _Passwords = new Dictionary<string, string>();
        _Passwords.Add("User1", "Password");
        _Passwords.Add("User2", "Password");
        _Passwords.Add("User3", "Password");
    }
    public static string GetPassword(string userName)
    {
        if (_Passwords == null)
            InitPasswords();
        string password;
        if (_Passwords.TryGetValue(userName, out password))
            return password;
        // handle case when password for specified userName not found
        // Throw some exception or just return null
        return null;
    }
}

这里dictionary是类的私有成员,所以它可以从PasswordPool的任何方法访问,而GetPassword是允许通过用户名获取密码的公共静态方法。

相关内容

  • 没有找到相关文章

最新更新