LINQ का उपयोग कर दो आदेशित अनुक्रमों को मर्ज करने का कोई आसान तरीका है?
IEnumerable<T> first;
IEnumerable<T> second;
को देखते हुए और कहा कि first
और second
दोनों एक comparer Func<T, T, int>
कि समानता के लिए 0 देता है, -1 जब पहली "छोटे" और 1 है दूसरी "छोटे" है जब द्वारा आदेश दिया गया है।
क्या LINQ का उपयोग करके दो अनुक्रमों को मर्ज करने के लिए एक सीधा-आगे तरीका है जिससे परिणामस्वरूप अनुक्रम भी एक ही तुलनाकर्ता द्वारा आदेश दिया जाता है?
हम वर्तमान में एक हाथ से तैयार किए गए एल्गोरिदम का उपयोग कर रहे हैं जो काम करता है, लेकिन सीधे-आगे LINQ कथन की पठनीयता बेहतर होगी।
[अनुसार क्रमबद्ध विलय IEnumerable के लिए सबसे कुशल एल्गोरिथ्म] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/ तरह
प्रयोग कुछ 2767007/सबसे कुशल-एल्गोरिदम-के-विलय-क्रमबद्ध-ienumerablet) – Jon
क्या आपने अपने हाथ से तैयार किए गए एल्गोरिदम को एक अलग विधि में निकाला है? पठनीयता में सुधार करने का यह सबसे आसान तरीका होगा। – phoog
यदि आपको पठनीयता (प्रदर्शन पर) पसंद है तो: 'var दोनों = first.Union (second)। ऑर्डर बी (तुलनात्मक); ' –