मेरे पास Array
Person
ऑब्जेक्ट है और मैं इसे ConcurrentDictionary
में परिवर्तित करना चाहता हूं। Array
को Dictionary
में परिवर्तित करने के लिए एक्सटेंशन विधि है। Array
को ConcurrentDictionary
में परिवर्तित करने के लिए कोई एक्सटेंशन विधि है?linq या IEnumarable का उपयोग कर सरणी को समवर्ती शब्दकोश में कनवर्ट करने का कोई बेहतर तरीका?
public class Person
{
public Person(string name, int age)
{
Name =name;
Age = age;
}
public string Name { get; set; }
public int Age { get; set; }
}
Dictionary<int, Person> PersonDictionary = new Dictionary<int, Person>();
Person[] PersonArray = new Person[]
{
new Person("AAA", 30),
new Person("BBB", 25),
new Person("CCC",2),
new Person("DDD", 1)
};
PersonDictionary = PersonArray.ToDictionary(person => person.Age);
एक ConcurrentDictionary
के लिए एक Array
परिवर्तित करने के लिए किसी भी इसी तरह के विस्तार विधि/लैम्ब्डा अभिव्यक्ति?
var personDictionary = new ConcurrentDictionary<int, Person>
(PersonArray.ToDictionary(person => person.Age));
var
ConcurrentDictionary<int,Person>
के प्रकार infers:
जबकि यह उत्तर मान्य है, [वास्प का उत्तर] (http://stackoverflow.com/a/12396386/1149773) कम्प्यूटेशनल और मेमोरी मांगों के मामले में बेहतर है। इस उत्तर के लिए एक 'शब्दकोश <टीकेई, टेलीमेंट>' की आवश्यकता है, केवल तुरंत त्याग दिया जाना चाहिए। – Douglas