C# Working with Linq binding -


मैंने निम्नलिखित के रूप में प्रकार डिज़ाइन किए हैं:

  class cricket {string type; टीम टीएम; सार्वजनिक टीम टीम {वापसी {टीएम; } सेट {tm = value; }} सार्वजनिक स्ट्रिंग प्रकार {get {return type; } सेट {type = value; }}} वर्ग टीम {स्ट्रिंग देश; खिलाड़ियों को पीएलआर; पब्लिक प्लेयर्स प्लेयर {प्राप्त करें {वापसी प्लर; } सेट {plr = value; }} सार्वजनिक स्ट्रिंग देश {वापसी देश; } सेट {country = value; }}} वर्ग के खिलाड़ी {string name; दिनांक समय डब; इंट रन; सार्वजनिक स्ट्रिंग नाम {get {return name; } सेट {name = value; }} सार्वजनिक तिथि टाइम डीओबी {वापस लौटें; } सेट {dob = value; }} सार्वजनिक एट रन {get {return run; } सेट {run = value; }}}  

मुझे LINQ तकनीकों का उपयोग कर निम्नलिखित को प्राप्त करना है।

1) सभी टीमों के बीच सबसे कम उम्र के खिलाड़ी के सबसे युवा डेटा

2) प्रत्येक टीम का सबसे पुराना खिलाड़ी

3) उच्चतम रन स्कोरर को स्वर्ण पदक प्राप्त होगा, सभी टीम के बाकी खिलाड़ियों को रजत पदक मिलेगा (कृपया GetPlayer को देखें) मैंने मेड मेडल = न्यू स्ट्रिंग [] ("गोल्ड", "रजत"} को पदक से संबद्ध करने के लिए घोषित किया है)

  सार्वजनिक शून्य GetPlayer () {var TeamMatrix = नया क्रिकेट [] {नई क्रिकेट {प्रकार = "ट्वेंटी 20", टीम = नई टीम} देश = "इंग्लैंड", खिलाड़ी = नए खिलाड़ी {डीओबी = कन्वर्ट.ToDateTime ("01 / जनवरी / 1989"), नाम = "रसेल ", रन = 45}}}, नई क्रिकेट {प्रकार =" ट्वेंटी 20 ", टीम = नई टीम {देश =" इंग्लैंड ", खिलाड़ी = नए खिलाड़ी {DOB = कन्वर्ट। = "जोएल", रन = 56}}}, नई क्रिकेट {प्रकार = "ट्वेंटी 20", टीम = नई टीम {देश = "ऑस्ट्रेलिया", खिलाड़ी = नए खिलाड़ी {DOB = कन्वर्ट.ToDateTime ("01 / जनवरी / 1990" ), नाम = "क्लार्क", रन = 145}}}, नई क्रिकेट {प्रकार = "ट्वेंटी 20", टीम = नई टीम {देश = "ऑस्ट्रेलिया", खिलाड़ियों = नए खिलाड़ी {DOB = कन्वर्ट.ToDateTime ("01 / जनवरी / 1 9 71 "), नाम =" बेवन ", रन = 156}}}}; Var मेडल = नई स्ट्रिंग [] {"गोल्ड", "सिल्वर"}; Var tm = (टीम मैट्रिक्स में चटाई से नया चुनें {mat.Team.Players.DOB})। अधिकतम (); कंसोल.प्रकाशलाइन ("सबसे युवा आयु = {0}", टीएम); }  

जब मैं घोषित करता हूं

  var tm = (टीम मैट्रिक्स में चटाई से नया चुनें {mat.Team.Players.DOB})। अधिकतम ();  

मुझे त्रुटि मिलती है

कम से कम एक ऑब्जेक्ट को आईसीओम्परबल लागू करना होगा।

पूरा करने का वास्तविक तरीका क्या है तीन कार्यों से ऊपर? (कार्य 1, 2, 3 को ऊपर समझाया गया है)।

सभी के लिए धन्यवाद।

< P> आपको प्राप्त हुई त्रुटि इसलिए है क्योंकि आप जो अज्ञात वर्ग की घोषणा करते हैं वह तुलनात्मक नहीं है। आपको डीओबी प्रॉपर्टी की तुलना करने की आवश्यकता है:

  var tm = (टीम मैट्रिक्स में चटाई से नई {mat.Team.Players.DOB} चुनें) मैक्स (मैट = & gt; मैट। डीओबी);  

संपत्ति की तुलना की जा रही संपत्ति के रूप में अज्ञात वर्ग की DOB संपत्ति का चयन क्या करता है।

वैकल्पिक रूप से, और बहुत सरल, है:

  var tm = (टीम मैट्रिक्स में चटाई से चुनें mat.Team.Players.DOB) .Max ();  

वास्तव में, एक अज्ञात वर्ग की कोई आवश्यकता नहीं है (जब तक आप एक ही बार में एकाधिक गुणों को पुनः प्राप्त करने की कोशिश कर रहे हैं, जैसे कि खिलाड़ी के DOB और नाम)।

उम्मीद है कि आपकी सहायता करता है।


Comments

Popular posts from this blog

asp.net - Javascript/DOM Why is does my form not support submit()? -

sockets - Delphi: TTcpServer, connection reset when reading -

javascript - Classic ASP "ExecuteGlobal" statement acting differently on two servers -