द्वारा लिंक खोज परिणाम मेरे पास एक ऑब्जर्जेबल कोलेक्शन है, जिसमें Person
ऑब्जेक्ट है। मेरे पास मेरे एप्लिकेशन में एक खोज सुविधा है, और शीर्ष पर सबसे प्रासंगिक परिणाम प्रदर्शित करना चाहते हैं। ऐसा करने का सबसे प्रभावी तरीका क्या होगा?निकटतम मिलान
var results = (from s in userList
where s.Name.Contains(query)
select s).ToList();
यह ठीक काम करता है, लेकिन परिणाम एक ही क्रम में वे userList
के भीतर प्रदर्शित में आदेश दिया जाता है: मेरे वर्तमान खोज विधि केवल contains
प्रणाली को बुलाती है। अगर मैं Pete
के लिए खोज, तो यह पहले Pete
प्रदर्शित करना चाहिए, तो Peter
तो Peter Smith
आदि .. यह बहुत जटिल के रूप में यह केवल कुछ हजार (अधिकतम) परिणामों के साथ काम किया जाएगा नहीं है। मेरा बेवकूफ दृष्टिकोण सबसे पहले s.Name == query
करना था, उस आइटम को प्रदर्शित करें (यदि कोई है), तो s.Name.Contains(query)
प्रदर्शन करें, मिलान किए गए आइटम को हटाएं और इसे पिछले मिलान किए गए परिणाम में जोड़ें। हालांकि, यह जगह पर थोड़ा सा लगता है और क्या कोई बेहतर तरीका है? धन्यवाद (पीएस - केवल नाम का उपयोग खोज में किया जाएगा, और मैं एसक्यूएल विधियों का उपयोग नहीं कर सकता)
धन्यवाद है, मैं सिर्फ इस परीक्षण किया है और यह पूरी तरह से काम करने लगता है। अच्छा और सरल :) – Brap