首页 新闻 会员 周边

C#索引器问题

0
[已解决问题] 解决于 2012-03-29 14:15

若是类中有两个变量集合,声明两个索引器,那么在访问的时候会出现访问指定不明确的问题出现报错。这种问题该怎么解决啊?

c#
学之乐的主页 学之乐 | 初学一级 | 园豆:33
提问于:2012-03-23 10:21
< >
分享
最佳答案
0

把[int index] 设成不一样的就行。

奖励园豆:5
中文代码 | 小虾三级 |园豆:951 | 2012-03-28 23:48

不行啊,参数不一样那索引器也出问题了!

 public string this[string ind]
{
get { return s[ind]; } //ind下面出现红线说,无法转转化为int类型
set { s[ind] = value; }
}

学之乐 | 园豆:33 (初学一级) | 2012-03-29 10:09

@河洛之子:  呵呵,你把ind判断强转一下就行了。

中文代码 | 园豆:951 (小虾三级) | 2012-03-29 14:05
其他回答(2)
0

代码。

水牛刀刀 | 园豆:6350 (大侠五级) | 2012-03-23 10:28
public  class zhong
{
private int[] a=new int[10];
private string[] s = new string[10];
private int i;

public int I
{
get { return i; }
set { i = value; }
}
public int this[int index]
{
get { return a[index]; }
set { a[index] = value; }
}
public string this[int index]
{
get { return s[index]; }
set { s[index] = value; }
}
}
class Program
{
static void Main(string[] args)
{
zhong z = new zhong();
z.s[0] = "asd";

Console.WriteLine(z[0]);
}
}
支持(0) 反对(0) 学之乐 | 园豆:33 (初学一级) | 2012-03-23 10:31
0

你要是想两个的话,就使用不同的索引参数吧。

小小刀 | 园豆:1991 (小虾三级) | 2012-03-25 18:40

不行啊,参数不一样那索引器也出问题了!

        public string this[string ind]
{
get { return s[ind]; } ind下面出现红线说,无法转转化为int类型
set { s[ind] = value; }
}
支持(0) 反对(0) 学之乐 | 园豆:33 (初学一级) | 2012-03-29 10:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册