急c# 索引的问题 一个类有多个数组 如何设置索引

vip__888 2010-01-21 03:17:42
RT
一个类有6个数组 如何设置索引 单个的我知道
private string[] test;
public string this[int index]
{
get{return test[index];}
}

多个我就不知道了 。。。急。。。
...全文
182 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
vip__888 2010-01-21
  • 打赏
  • 举报
回复
上面的也是一种解决方法,
结贴
lqshadan 2010-01-21
  • 打赏
  • 举报
回复

using System;

namespace TestUse
{
/// <summary>
/// Summary description for Muliti.
/// </summary>
public class Muliti
{
public Muliti()
{
//
// TODO: Add constructor logic here
//
}

private string[] test1;
private object[] test2;
private int[] test3;

public object this[string arrname,int index]{
get{
switch(arrname){
case "test1":return test1[index];
case "test2":return test2[index];
case "test3":return test3[index];
default:return null;
}
}
set{
switch(arrname)
{
case "test1":test1[index]=value.ToString();break;
case "test2":test2[index]=value;break;
case "test3":test3[index]=(int)value;break;
default:break;
}
}
}

public void setUpArray(){
test1 = new string[3];
test2 = new object[2];
test3 = new int[4];
}
}
}



测试代码:
		private void button1_Click(object sender, System.EventArgs e)
{
Muliti testm = new Muliti();
testm.setUpArray();
testm["test1",0]="test1-0";
testm["test2",0]= "test2-0";
testm["test3",0]= 3;
MessageBox.Show((string)testm["test1",0]);
MessageBox.Show((string)testm["test2",0]);
MessageBox.Show("" + testm["test3",0]);
}
vip__888 2010-01-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wyfde123 的回复:]
6个返回的都是string??
[/Quote]
都是string 数组
wyfde123 2010-01-21
  • 打赏
  • 举报
回复
6个返回的都是string??
vip__888 2010-01-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mngzilin 的回复:]
引用 4 楼 vip__888 的回复:
up 说清楚点啊 不懂啊


说实话,你的问题我也不是很明白。
[/Quote]
我查了MSDN 一个类里面只能有一个this访问器
我挺纳闷的 一个类里面有一个数组 可以用this访问器
多个数组如何设置访问器
mngzilin 2010-01-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 vip__888 的回复:]
up 说清楚点啊 不懂啊
[/Quote]

说实话,你的问题我也不是很明白。
vip__888 2010-01-21
  • 打赏
  • 举报
回复
up 说清楚点啊 不懂啊
vip__888 2010-01-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mngzilin 的回复:]
C# code ArrayList list=new ArrayList();privatestring[] test1;privatestring[] test2;publicvoidset()
{
list.Insert(0, test1);
list.Insert(1, test2);
}
[/Quote]
说清楚点好不
mngzilin 2010-01-21
  • 打赏
  • 举报
回复
    ArrayList list = new ArrayList();
private string[] test1;
private string[] test2;

public void set()
{
list.Insert(0, test1);
list.Insert(1, test2);
}
vip__888 2010-01-21
  • 打赏
  • 举报
回复

help

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧