【发布时间】:2010-11-04 05:43:40
【问题描述】:
我正在寻找一个在 c# 中映射数据的好解决方案。
起初我有一个字符“a”和一个角度“0.0”度。
映射的最佳解决方案是什么?一个列表 ?
一个要求是我必须搜索学位,如果它不在“列表”中,然后我添加一个新的......等等
感谢您的帮助:)
编辑:我必须找出角度是否存在!如果角度不存在,则添加一个新字符
【问题讨论】:
我正在寻找一个在 c# 中映射数据的好解决方案。
起初我有一个字符“a”和一个角度“0.0”度。
映射的最佳解决方案是什么?一个列表 ?
一个要求是我必须搜索学位,如果它不在“列表”中,然后我添加一个新的......等等
感谢您的帮助:)
编辑:我必须找出角度是否存在!如果角度不存在,则添加一个新字符
【问题讨论】:
字典
例子:
Dictionary< double, char> dic = new Dictionary< double, char>();
//Adding a new item
void AddItem(char c, double angle)
{
if (!dic.ContainsKey(angle))
dic.Add(angle,c);
}
//Retreiving an item
char GetItem(double angle)
{
char c;
if (!dic.TryGetValue(angle, out c))
return '';
else
return c;
}
【讨论】:
使用字典。
var d =new Dictionary<string,double> ()`
【讨论】:
Hashtable 看起来就是您正在寻找的东西。将学位设置为 Hashkey,以后可以很容易地进行搜索。
Hashtable ht = new Hashtable();
if (!ht.ContainsKey(angle))
ht.Add(key, value);
【讨论】:
字典应该没问题:
Dictionary<string, float> dict = new Dictionary<string, float>();
dict.Add("a", 0.0);
float angle = dict["a"]
if( !dict.Contains("b"))
{
dict["b"] = 1.0;
}
【讨论】:
也许是SortedDictionary.?
private SortedDictionary<string, double> _myStuff;
...
if (!_myStuff.ContainsValue(0))
...
【讨论】: