使用密钥生成新列表

Vee*_*ech 6 .net c# list

我想创建一个包含键和值的新列表

List<object> r = new List<object>();  
r.Add("apple");  
r.Add("John");  
return r;
Run Code Online (Sandbox Code Playgroud)

当你用Addwatch r时,你会看到

[1] = apple  
[2] = John
Run Code Online (Sandbox Code Playgroud)

问题:如何使[1]和[2]成为新密钥?当我添加r时,我希望看到[1]被名称替换.如下:

Name = apple  
TeacherName = John
Run Code Online (Sandbox Code Playgroud)

Ahm*_*gdy 12

你的意思是你想要使用类似的东西 Dictionary<TKey, TValue>

例:

Dictionary<string, string> d = new Dictionary<string, string>();
d.Add("Name", "Apple");
d.Add("Teacher", "John");
Run Code Online (Sandbox Code Playgroud)

或者你想要一个更强类型的对象?在这种情况下,您必须使用您的一个类/结构

class MyObject
{
 public string Name {get; set;}
 public string Teacher {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

然后

var list = new List<MyObject>();
list.Add(new MyObject { Name = "Apple", Teacher = "John" });
list.Add(new MyObject { Name = "Banana", Teacher = "Setphan" });
Run Code Online (Sandbox Code Playgroud)

然后你就可以了

var item = list[0];
var name = item.Name;
var teacher = item.Teacher;
Run Code Online (Sandbox Code Playgroud)