मेरे पास list<message>
है जिसमें Guid
और DateTime
(साथ ही साथ अन्य गुण) के गुण शामिल हैं। मैं उस सूची में सभी वस्तुओं से छुटकारा पाना चाहता हूं जहां Guid
और DateTime
समान हैं (एक को छोड़कर)। वहाँ बार जब उन दो संपत्तियों की सूची में अन्य मदों के रूप में ही किया जाएगा होगा, लेकिन अन्य गुण अलग होगा, तो मैं बस .Distinct()
सूची में दो गुणों से अलग चुनें
List<Message> messages = GetList();
//The list now contains many objects, it is ordered by the DateTime property
messages = from p in messages.Distinct( what goes here?);
उपयोग नहीं कर सकते यह है कि मैं क्या अभी है, लेकिन ऐसा लगता है जैसे वहाँ एक बेहतर तरीका
List<Message> messages = GetList();
for(int i = 0; i < messages.Count() - 1) //use Messages.Count() -1 because the last one has nothing after it to compare to
{
if(messages[i].id == messages[i+1}.id && messages[i].date == message[i+1].date)
{
messages.RemoveAt(i+1);
{
else
{
i++
}
}
http://stackoverflow.com/questions/489258/linq-distinct-on-a-particular-property – Shyju
धन्यवाद:
इस तरह आप इसका इस्तेमाल होता है। मुझे नहीं पता कि जब मैंने खोज की तो मुझे वह क्यों नहीं मिला। – user1304444
मुझे खुशी है कि जॉन का जवाब आपके लिए काम करता है। सावधानी बरतने का एक नोट: आपकी "वर्तमान में प्रयुक्त विधि" संकलित नहीं होती है, और (संकलन त्रुटियों को ठीक करने के बाद) यह सभी मामलों में काम नहीं करेगी - आपके तत्वों के क्रम के आधार पर, आप अलग-अलग ** (गलत) ** परिणाम (आखिरकार, आप केवल एक दूसरे के साथ आसन्न तत्वों की तुलना कर रहे हैं)। – Adam