मेरे पास दो IEnumerable<T>
एस हैं।विलय दो आईनेमरेबल <T> एस
कोई फॉलबैक एलिमेंट्स से भरा हो जाता है। यह हमेशा सबसे अधिक तत्वों में होगा। दूसरा पैरामीटर कुछ के आधार पर भर जाएगा और संभवतः कम तत्व होंगे। यदि कोई तत्व दूसरे में मौजूद नहीं है, तो मुझे इसे पहले के समकक्ष के साथ भरना होगा।
इस कोड काम करता है, लेकिन मेरे लिए अक्षम महसूस करता है और मुझे ILists को IEnumerables कास्ट करने के लिए या एक अस्थायी सूची व्यक्ति को लागू करता है IEquatable
IEnumerable<Person> fallBack = Repository.GetPersons();
IList<Person> translated = Repository.GetPersons(language).ToList();
foreach (Person person in fallBack)
{
if (!translated.Any(p=>p.equals(person)))
translated.add(person);
}
कोई सुझाव का उपयोग करने की आवश्यकता है?
यह बहुत अच्छा काम करता है लेकिन एक गॉचा है जिसे आपको अवगत होना चाहिए: http://programmaticallyspeaking.com/how-enumerableconcat-brought-down-a-production-server.html – Oliver