求一个类似于Dictionary的数据结构

isreal0 2009-03-09 11:43:08
Dictionary可以放2个String类型的值,一个key,一个value,可以根据key来查value。
我现在想放一个key,两个value,最好不要把两个value包装到一起,有没有类似于dictionary<string key, string value1,string value2>的结构?
谢谢
...全文
107 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgke 2009-03-09
  • 打赏
  • 举报
回复
你可以做一个类

public class TwoStringValue
{
public String1="";
public String2="";
}

把类放 这里不就好了
Dictionary<string,TwoStringValue>
lateknow 2009-03-09
  • 打赏
  • 举报
回复
非要这样的话,你可以自己封装一下嘛.比如:
public class DictinaryEx
{
private Dictionary<string, string[]> dic = new Dictionary<string, string[]>();


string[] val = new string[2];

public void Add(string key, string val1, string val2)
{
val[0] = val1;
val[0] = val2;
dic.Add(key, val);
}

public bool ContainsKey(string key)
{
//todo:add code
}
....

}
北京的雾霾天 2009-03-09
  • 打赏
  • 举报
回复
你的这个方法好像不太易于扩展,如果要是再有Value3,Value4什么的是不是还是添加。

所以使用一个结构体或是类对象作为Value是可取的。只要把对象的引用取到,其各个公开成员都可以访问到,只需要扩展结构体或类的成员就可以了。
isreal0 2009-03-09
  • 打赏
  • 举报
回复
zgke的方法其实也是包装了哈。。
期待一个直接的方法,可以用MyHashTable.getvalue1[key]; MyHashTable.getvalue2[key]; 就可以可以获得两个value的方法
多谢楼上各位,呵呵
tweeger 2009-03-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cppfaq 的回复:]
不包装的话: 没有。
[/Quote]
嗯,是的;
为什么不愿包装呢?
cppfaq 2009-03-09
  • 打赏
  • 举报
回复
不包装的话: 没有。

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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