IEnumerable
से ObservableCollection
कैसे परिवर्तित करें?IENumerable से ObservableCollection को कैसे परिवर्तित करें?
94
A
उत्तर
154
var myObservableCollection = new ObservableCollection<YourType>(myIEnumerable);
इस के अनुसार वर्तमान IEnumerable की एक उथले प्रतिलिपि बनाने और एक ObservableCollection करने के लिए यह हो जाएगा।
57
आप गैर सामान्य
:IEnumerable
साथ काम कर रहे हैं आप इसे इस तरह से कर सकते हैं:public ObservableCollection<object> Convert(IEnumerable original) { return new ObservableCollection<object>(original.Cast<object>()); }
आप सामान्य
IEnumerable<T>
साथ काम कर रहे हैं आप इसे इस तरह से कर सकते हैंpublic ObservableCollection<T> Convert<T>(IEnumerable<T> original) { return new ObservableCollection<T>(original); }
यदि आप गैर-जेनेरिक
IEnumerable
के साथ काम कर रहे हैं लेकिन तत्वों के प्रकार को जानते हैं, तो आप इसे इस तरह से कर सकते हैं:public ObservableCollection<T> Convert<T>(IEnumerable original) { return new ObservableCollection<T>(original.Cast<T>()); }
24
चीजों को और भी अधिक आसान बनाने के लिए आप इसे से बाहर एक Extension विधि बना सकते हैं।
public static class Extensions
{
public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> col)
{
return new ObservableCollection<T>(col);
}
}
तो फिर तुम IEnumerable कन्वर्ट करने के लिए हर IEnumerable
var lst = new List<object>().ToObservableCollection();
3
ObservableCollection<decimal> distinctPkgIdList = new ObservableCollection<decimal>();
guPackgIds.Distinct().ToList().ForEach(i => distinctPkgIdList.Add(i));
// distinctPkgIdList - ObservableCollection
// guPackgIds.Distinct() - IEnumerable
1
सी # समारोह पर विधि कॉल कर सकते हैं ObservableCollection करने के लिए
private ObservableCollection<dynamic> IEnumeratorToObservableCollection(IEnumerable source)
{
ObservableCollection<dynamic> SourceCollection = new ObservableCollection<dynamic>();
IEnumerator enumItem = source.GetEnumerator();
var gType = source.GetType();
string collectionFullName = gType.FullName;
Type[] genericTypes = gType.GetGenericArguments();
string className = genericTypes[0].Name;
string classFullName = genericTypes[0].FullName;
string assName = (classFullName.Split('.'))[0];
// Get the type contained in the name string
Type type = Type.GetType(classFullName, true);
// create an instance of that type
object instance = Activator.CreateInstance(type);
List<PropertyInfo> oProperty = instance.GetType().GetProperties().ToList();
while (enumItem.MoveNext())
{
Object instanceInner = Activator.CreateInstance(type);
var x = enumItem.Current;
foreach (var item in oProperty)
{
if (x.GetType().GetProperty(item.Name) != null)
{
var propertyValue = x.GetType().GetProperty(item.Name).GetValue(x, null);
if (propertyValue != null)
{
PropertyInfo prop = type.GetProperty(item.Name);
prop.SetValue(instanceInner, propertyValue, null);
}
}
}
SourceCollection.Add(instanceInner);
}
return SourceCollection;
}
संबंधित मुद्दे
- 1. ObservableCollection के साथ ViewModel से UI को रीफ्रेश कैसे करें?
- 2. IList से ObservableCollection
- 3. एक अल्पविराम से अलग स्ट्रिंग में IENumerable <string> को कैसे परिवर्तित करें?
- 4. एक ObservableCollection
- 5. CFStringRef से NSString को कैसे परिवर्तित करें?
- 6. sqldatetime.minvalue से डेटाटाइम को कैसे परिवर्तित करें?
- 7. बाइट [] से इनपुटस्ट्रीम को कैसे परिवर्तित करें?
- 8. डबल से एनएसआईएनटेगर को कैसे परिवर्तित करें?
- 9. nsstring से uicolor को कैसे परिवर्तित करें?
- 10. Guid [] से स्ट्रिंग को कैसे परिवर्तित करें?
- 11. BigInteger से BigDecimal को कैसे परिवर्तित करें?
- 12. CFArrayRef से NSArray को कैसे परिवर्तित करें?
- 13. xib से स्टोरीबोर्ड को कैसे परिवर्तित करें?
- 14. NSDate से NSString को कैसे परिवर्तित करें?
- 15. Char * से BSTR को कैसे परिवर्तित करें?
- 16. NSData से NSString को कैसे परिवर्तित करें?
- 17. स्ट्रिंग [] से ArrayList को कैसे परिवर्तित करें?
- 18. org.jdom.Document से स्ट्रिंग को कैसे परिवर्तित करें
- 19. nsstring से cString को कैसे परिवर्तित करें?
- 20. बढ़ाने से WPF ObservableCollection प्रदर्शन
- 21. IENumerable सूची को कैसे क्रमबद्ध करें?
- 22. छंटाई ObservableCollection
- 23. ListView ObservableCollection
- 24. मैं कैसे अपने ItemsSource ObservableCollection
- 25. ObservableCollection वह भी संग्रह
- 26. rdl से rdlc को परिवर्तित करें?
- 27. IENumerable से सूची
- 28. एचटीएमएल से एक्सएचटीएमएल कैसे परिवर्तित करें?
- 29. wsdl से java कैसे परिवर्तित करें?
- 30. WPF LINQ और ObservableCollection
करने के लिए एक foreach पाश का उपयोग करने से यह जल्दी है वस्तुओं को संग्रह में एक-एक करके सम्मिलित करें? – Rexxo
@Rexxo यह कन्स्ट्रक्टर के साथ ऐसा करने के लिए थोड़ा तेज़ होगा। आंतरिक संग्रह में आइटम कॉपी करने के लिए आंतरिक रूप से [यह 'foreach'] का उपयोग कर रहा है (http://referencesource.microsoft.com/System/compmod/system/collections/objectmodel/observablecollection.cs.html#cfaa9abd8b214ecb) आप foreach करते हैं और 'जोड़ें' कहते हैं [यह 'InsertItem'] के माध्यम से जा रहा है (http://referencesource.microsoft.com/System/compmod/system/collections/objectmodel/observablecollection.cs.html#767bf62bf4a3a7c1) जो करता है बहुत सी अतिरिक्त चीजें जो अनजाने में होती हैं जब शुरुआत में इसे थोड़ा धीमा कर दिया जाता है। –