日期:2014-05-17  浏览次数:21004 次

如何给数组,字典等集合类型设置Get访问器
假设有这样一个字典:
public static Dictionary<int, string> SexList;

SexList里面有两条记录(1,"男"),(2,"女"),SexList[1]="男",SexList[2]="女"

我希望设置一个Get访问器,让SexList[3],SexList[4],SexList[5]等等都返回"男",如何做到?

------解决方案--------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class MyClass
    {
        public static Dictionary<int, string> SexList = new Dictionary<int, string>();
        public string this[int i]
        {
            get { if (SexList.ContainsKey(i)) return SexList[i]; else return "男"; }
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            MyClass.SexList.Add(1, "男");
            MyClass.SexList.Add(2, "女");
            MyClass instance = new MyClass();
            for (int i = 0; i <= 5; i++)
            {
                Console.WriteLine(instance[i]);
            }
        }
    }
}