क्या एक var target चर का उपयोग कर सी # 7 में नामित टुपल का चयन करने का एक अच्छा तरीका है? मुझे उदाहरण 1 में कुछ गलत करना होगा, या पूरी तरह से कुछ गलत समझना होगा। ऐसा करने के लिए मुझे स्पष्ट रूप से लक्ष्य प्रकार निर्धारित करना होगा।चुनिंदा वक्तव्यों में नामित tuples का उपयोग
//1. Fails to compile with "incorrect number of type parameters" issue.
var tuples = source.Select<(int A, int B)>(x => (x.A, x.B));
//2. Compiles
IEnumerable<(int A, int B)> tuples = toCheck.Select(x => (x.A, x.B));
//3. Compiles
var tuples = new HashSet<(int A, int B)>(source.Select(x => (x.A, x.B)));
बढ़िया है, मुझे नहीं पता था कि आप तत्वों के लिए नामों एम्बेड कर सकता है के लिए feature document देखें: तो तुम लिखने के लिए सक्षम हो जाएगा इस तरह की घोषणा के अंदर tuple में। – gmn
जिज्ञासा से, यह अज्ञात प्रकारों में 'ए = x.A'' क्यों नहीं है? 'var x = new {ए = x.A, बी = x.B};' ' –
@RandRandom: यह सिर्फ tuple तत्व नामों के लिए वाक्यविन्यास नहीं है। यह दोनों घोषणाओं और ट्यूपल लिटल में लगातार '' 'है। बेनामी प्रकार ऑब्जेक्ट प्रारंभकर्ताओं, "सेटिंग" गुणों की तरह अधिक हैं (हालांकि प्रकार वास्तव में अपरिवर्तनीय हैं) –