一个字典,想在通过索引器取值之前先判断下该字典里是否有该键然后做相关处理后再给值,能不能通过属性的方式来做呢.
自己做了下,立马就写出了下边的代码,然后对着get望了半天,还真不知该怎么继续...
大家看看该法是否可行,可行的话如何进行,谢谢了.
    SortedList<string, string> _request;
    SortedList<string, string> Request
    {
        get 
        {
        
            return  _request; 
        }
        set
        {
          _request = value; 
        }
    }
另外,我知道可以这样实现,在这里不做讨论,只讨论上边的.    SortedList<string, string> Req
    string Request(string s)
    {
        if (Req.ContainsKey(s) == true)
        {
            return Req[s];
        }
        else
        {
            return "";
        }
    }

解决方案 »

  1.   

    SortedList<string, string> _request;
    public string this[string name]
        {
            get
            {
                if (_request.ContainsKey(name))
                {
                  return _request[name];
                 }
                 return null;
            }
            set { _request[name] = value; }
        }
      

  2.   



    是一种方法,不过这样的话,取值赋值时都要这样this["X"],那假如在同一个类里需要对两个同样的字典进行这般处理呢,总不会是用两个子类来包装这两个字典吧,这样的代码多麻烦啊.
    能不能做到这样,取值赋值用 字典名["X"] 方式,然后也能实现同样的效果呢,如果可以,那就简洁多了.