using System;
using System.Collections.Generic;
using System.Text;namespace ExConsol2
{
class Group
{
public const int MaxNum = 8;
private string[] member1;
//索引器
public string this[int idx]
{
get
{
return member1[idx];
}
set
{
member1[idx] = value;
}
} //--------------------------------------
private string[] member2;
//索引器
//public string this[int idx]
//{
// get
// {
// return member2[idx];
// }
// set
// {
// member2[idx] = value;
// }
//}
public Group()
{
member1 = new string[MaxNum];
member2 = new string[MaxNum];
}
//}
//=========================================
//class Program
//{
public static void Main(string[] args)
{
Group group = new Group();
//赋值
group[0] = "张三";
group[1] = "李四";
group[2] = "张三";
group[3] = "李四";
group[4] = "张三";
group[5] = "李四";
group[6] = "张三";
group[7] = "李四"; for(int i=0;i<Group.MaxNum;i++)
Console.WriteLine(group[i]);//取值
}
//}
}}
我想在此类中用两个相同类型的两个数组的索引,应该怎么办,如果是一个那么该怎么区分我索引的是哪一个数组??
using System.Collections.Generic;
using System.Text;namespace ExConsol2
{
class Group
{
public const int MaxNum = 8;
private string[] member1;
//索引器
public string this[int idx]
{
get
{
return member1[idx];
}
set
{
member1[idx] = value;
}
} //--------------------------------------
private string[] member2;
//索引器
//public string this[int idx]
//{
// get
// {
// return member2[idx];
// }
// set
// {
// member2[idx] = value;
// }
//}
public Group()
{
member1 = new string[MaxNum];
member2 = new string[MaxNum];
}
//}
//=========================================
//class Program
//{
public static void Main(string[] args)
{
Group group = new Group();
//赋值
group[0] = "张三";
group[1] = "李四";
group[2] = "张三";
group[3] = "李四";
group[4] = "张三";
group[5] = "李四";
group[6] = "张三";
group[7] = "李四"; for(int i=0;i<Group.MaxNum;i++)
Console.WriteLine(group[i]);//取值
}
//}
}}
我想在此类中用两个相同类型的两个数组的索引,应该怎么办,如果是一个那么该怎么区分我索引的是哪一个数组??
//索引器
public string this[int idx]
{
get
{
return member1[idx];
}
set
{
member1[idx] = value;
}
} //--------------------------------------
private string[] member2;
//索引器
//public string this[int idx]
//{
// get
// {
// return member2[idx];
// }
// set
// {
// member2[idx] = value;
// }
//}
但这么写不构成重载
尝试下面看看
//public string this[string idx]
//{
// get
// {
// return member2[int.Parse(idx)];
// }
// set
// {
// member2[int.Parse(idx)] = value;
// }
//}
希望对你有用
public string this[int idx]
{
get
{
return member1[idx];
}
set
{
member1[idx] = value;
}
} public string this[int idx, int type]
{
get
{
switch (type)
{
case 2:
return member2[idx];
default:
return member1[idx];
}
}
set
{
switch (type)
{
case 2:
member2[idx] = value;
break;
default:
member1[idx] = value;
break;
}
}
}