代码之家  ›  专栏  ›  技术社区  ›  Canacourse

如何使用c中的dictionary属性

  •  1
  • Canacourse  · 技术社区  · 15 年前

    虽然我的用户现在可以理解如何使用字符串等简单类型获取和设置 词典 准备好了吗?

    我有一个小的DOS程序正在尝试这样做。下面的代码片段。

    # User.cs
    namespace LDIFMod
    {
        public class User
        {
    
            public string UserHash { get; set; }
            public string UserID { get; set; }
            public Dictionary<string, string> UserDict { get; set; }  <- how to do this???
    }
    
    }
    

    在我的程序中。

    var query = from line in File.ReadAllLines(args[0])
    let UserRecord = line.Split(',')
    select new User()
    
    {
    
     UserHash = UserRecord[2].Trim() +UserRecord[3].Trim(),
     UserID = UserRecord[4].Trim(),
     UserDict.????   // userDict should contain key = UserRecord[5] & value = UserRecord[9]
    
    }
    
    2 回复  |  直到 15 年前
        1
  •  4
  •   Scott Chamberlain    15 年前

    private set

    # User.cs
    namespace LDIFMod
    {
        public class User
        {
            User()
            {
                UserDict = new Dictionary<string, string>()
            }
            public string UserHash { get; set; }
            public string UserID { get; set; }
            public Dictionary<string, string> UserDict { get; private set; }
        }
    }
    

    var query = from line in File.ReadAllLines(args[0])
    let UserRecord = line.Split(',')
    select new User()
    {
         UserHash = UserRecord[2].Trim() +UserRecord[3].Trim(),
         UserID = UserRecord[4].Trim(),
         UserDict.Add(UserRecord[5],UserRecord[9]);
    }
    

    User


    # User.cs
    namespace LDIFMod
    {
        public class User
        {
            public string UserHash { get; set; }
            public string UserID { get; set; }
            public readonly string[] SourceData {get; private set;}
        }
    }
    

    var query = from line in File.ReadAllLines(args[0])
    let UserRecord = line.Split(',')
    select new User()
    {   
         UserHash = UserRecord[2].Trim() + UserRecord[3].Trim(),
         UserID = UserRecord[4].Trim(),
         SourceData = UserRecord;
    }
    var UserLookp = query.ToDictionary((user) => user.SourceData[5], (user) => user.SourceData[9]);
    

        2
  •  1
  •   Etienne de Martel    15 年前

    {
        UserHash = UserRecord[2].Trim() +UserRecord[3].Trim(),
        UserID = UserRecord[4].Trim(),
        UserDict = new Dictionary<string, string> { { UserRecord[5],  UserRecord[9] } }
    }
    

    http://msdn.microsoft.com/en-us/library/bb531208.aspx