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

根据索引获取对应的值
c#中如何实现如下的功能:通过索引可以获取相应的值

例如 
cmyclall Gobj1 = arlist[1].mobj;
cmyclall Gobj2 = arlist[2].mobj;
....

用什么能实现类似的


------解决方案--------------------
没太明白什么意思?
是下面这个意思吗?
public class cmyclall 

   public cmycall()
   {}
}

public class arList
{
   public cmycall mobj
   {get;set;}
}

public class Test
{
   public static void Main()
   {
       arList []arlist=new arList[]{new arList{mobj=new cmycall()},new arList{mobj=new cmycall()},new arList{mobj=new cmycall()}};
       for(int i=0;i<arlist.Length;i++)
          cmyclall Gobj=arlist[i].mobj;

   }
}
------解决方案--------------------
使用索引器
class MyClass
{
    public YourType this[int Index]
    {
        get { ... } set { ... }
    }
}
使用
MyClass mc = new MyClass();
var val = mc[1];
------解决方案--------------------
引用:
cmyclall []arlist = new cmyclall[9999]; 
定义这样大的数组有问题么?

没问题
------解决方案--------------------
引用:
使用索引器
class MyClass
{
    public YourType this[int Index]
    {
        get { ... } set { ... }
    }
}
使用
MyClass mc = new MyClass();
var val = mc[1];

看起来你需要的是索引器
------解决方案--------------------
那你需要的是字典Dictionary<K, V>