标题:如何用C#建字符串索引器
只看楼主
suifeng_
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-12-5
 问题点数:0 回复次数:5 
如何用C#建字符串索引器
创建一个集合类People,它是下述Person类的集合,该集合中的项目可以通过字符串索引符来访问.该字符串索引符是人的姓名,与Person.Name属性相同:
public class Person : ICloneable
{
private string name;
private int age;
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public int Age
{
get
{
return age;
}
set
{
age = value;
}
}
搜索更多相关主题的帖子: 索引 字符 name Person public 
2006-12-20 18:22
suifeng_
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-12-5
得分:0 

请高手帮忙啊

2006-12-20 18:24
shenba
Rank: 1
等 级:新手上路
威 望:1
帖 子:179
专家分:0
注 册:2006-9-17
得分:0 

你继承是集合的接口吗?如果想通过Name来访问,可以在另外一个类定义person[]作为成员

public Person this[string nameIndex]
{
get
{
foreach(Person p in Persons)
{
if (p.Name=nameIndex)
{
return p;
}
}
}
}


2006-12-20 23:27
游戏使者
Rank: 1
等 级:新手上路
帖 子:191
专家分:0
注 册:2005-8-24
得分:0 

class Persons : DictionaryBase
{
public void Add(string myKey, Person myPerson)
{
Dictionary.Add(myKey, myPerson);
}

public void Remove(string myKey)
{
Dictionary.Remove(myKey);
}

public Persons()
{

}

public Person this[string myKey]
{
get
{
return (Person)Dictionary[myKey];
}
set
{
Dictionary[myKey] = (Person)value;
}

}

}

[此贴子已经被作者于2006-12-21 3:25:51编辑过]


写程序像做爱一样,质量的好坏完全取决于心情……
2006-12-21 03:24
游戏使者
Rank: 1
等 级:新手上路
帖 子:191
专家分:0
注 册:2005-8-24
得分:0 
static void Main(string[] args)
{
Persons persons = new Persons();
Person []arrayPerson = new Person[30];
for (int i = 0; i < 30; i++)
{
arrayPerson[i] = new Person();
arrayPerson[i].Name = i.ToString() + i.ToString();
arrayPerson[i].Age = i;
persons.Add(arrayPerson[i].Name, arrayPerson[i]);
}
foreach (DictionaryEntry eny in persons)
{
Console.WriteLine(eny.Value);
}
}

写程序像做爱一样,质量的好坏完全取决于心情……
2006-12-21 03:26
suifeng_
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-12-5
得分:0 

谢谢各位
我试试

2006-12-21 22:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-110886-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.098818 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved