سؤال

أنا ابحث عن حل جيد لرسم الخرائط البيانات في c#.
في البداية لدي حرف "a" زاوية "0.0" درجة.
ما هو أفضل حل الخرائط ?قائمة ؟

شرط واحد هو أن لا بد لي من البحث عن درجة إذا كان ليس في "قائمة" ثم إضافة واحدة جديدة..وهلم جرا

شكرا على المساعدة :)

تحرير:يجب معرفة ما إذا كانت زاوية موجود !إذا كانت زاوية غير موجود ثم إضافة جديدة شار

هل كانت مفيدة؟

المحلول

القاموس< double,char>

على سبيل المثال:

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> ()`

قاموس ينبغي أن يكون على ما يرام:

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))
...

Hashtable يبدو أن الشيء الذي كنت تبحث عن.جعل درجة Hashkey و يمكنك البحث عن ذلك في وقت لاحق بسهولة تامة.


Hashtable ht = new Hashtable();
if (!ht.ContainsKey(angle))
    ht.Add(key, value);

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top