检索关联列表的第二个元素c#

时间:2017-02-21 08:26:51

标签: c#

在Lisp中

    (setq listOfMembers  '(
             ("SUPERMAN" "KRYPTO" )
             ("BATMAN" "ROBIN"    )
             ("JOKER" "HARLEY"    )
             ("MIGHTY MAN" "YUCK" )
                                     )

(cadr (assoc "BATMAN" listOfMembers))
returns
"ROBIN"

检索嵌套列表的第二个元素。

如何在C#中执行此操作?

编辑:我最终使用了Dictonaries

Dictionary<string, string[]> and Dictionary<string, string>

谢谢大家

3 个答案:

答案 0 :(得分:1)

不知道LISP。我会选择:

Dictionary <string, string> heroes = new Dictionary<string, string> { { "SUPERMAN", "KRYPTO" }, { "BATMAN", "ROBIN" } };
var sidekick = heroes["BATMAN"];

希望有所帮助。

答案 1 :(得分:0)

如果我正确理解了这个问题,你可以使用

List<Tuple<string,string>>

记录在案herehere

答案 2 :(得分:0)

如前所述,您可以定义一个元组列表。或者您可以创建名称类来保存名称。这样的类将包含两个字符串。这将是最简单的类,如类。

 public class Name
 {
    public String First;
    public String Last;
 }

因为C#中的List封装了动态数组,所以您可以直接通过索引访问第二个元素。

使实施更接近您在LISP中显示的内容。您可以使用类型为C#的字典:

Dictionary<string,string> 

其中键将是元组中的名字或第一个元素。