使用字典时面对的问题

时间:2015-08-02 14:43:51

标签: c#

我在我的简单代码中使用字典,并且方法将字符串作为键并搜索它是否已经存在于我的字典中,如果是,则返回值为什么我的"搜索"功能不起作用?

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        Dictionary < string, string > DIC = new Dictionary < string, string > ();
        DIC.Add("NAME", "aly");
        DIC.Add("AGE", "TWENTY");
        DIC.Add("LOVE", "NO");
        DIC.Add("GENDER", "MALE AWII");
        DIC.Add("BROTHER", "NO");
        DIC.Add("SISTER", "HAVE TOw");
        DIC.Add("FACULTY", "CS");
        DIC.Add("country ", "us");

        string search(string wanted) {
            if (DIC.ContainsKey(wanted)) {
                string value = DIC[wanted];
                return value;
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

正如评论中所指出的,不可能在C#中的方法中嵌套方法。您需要将搜索方法移动到类级别。

class Program
{
    static void Main()
    {
        Dictionary<string, string> DIC = new Dictionary<string, string> ();
        DIC.Add("NAME", "aly");
        DIC.Add("AGE", "TWENTY");
        DIC.Add("LOVE", "NO");
        DIC.Add("GENDER", "MALE AWII");
        DIC.Add("BROTHER", "NO");
        DIC.Add("SISTER", "HAVE TOw");
        DIC.Add("FACULTY", "CS");
        DIC.Add("country ", "us");

        string value = this.Search(DIC, "country");

        // Do something with value
    }

    private static string Search(Dictionary<string, string> DIC, string wanted) 
    {
        string value = string.Empty;
        if (DIC.ContainsKey(wanted)) 
        {
            value = DIC[wanted];
        }
        return value;
    }
}