Avatar ·

LINQ में Select और SelectMany के बीच क्या अंतर है?

सभी को नमस्कार! मैंने LINQ सीखना शुरू किया है और Select और SelectMany विधियों के बीच अंतर समझ नहीं पा रहा हूँ। मैंने दस्तावेज़ पढ़ा, लेकिन उदाहरण कुछ अमूर्त थे। मेरे पास एक सरल class है: ```csharp public class Student { public string Name { get; set; } public List Grades { get; set; } } ``` और छात्रों की एक list: ```csharp var students = new List { new Student { Name = "Иван", Grades = new List { 5, 4, 3 } }, new Student { Name = "Мария", Grades = new List { 4, 5, 5 } } }; ``` जब मैं लिखता हूँ: ```csharp var result = students.Select(s => s.Grades); ``` तो मुझे दो lists का collection मिलता है। और SelectMany के साथ क्या होगा? ऐसा लगता है कि यह भी वही है, लेकिन पूरी तरह से नहीं। मैंने प्रयास किया: ```csharp var result2 = students.SelectMany(s => s.Grades); ``` और मुझे केवल numbers का collection मिला। लेकिन फिर SelectMany की आवश्यकता क्यों है? इसका उपयोग किन वास्तविक स्थितियों में करें? या यह सिर्फ syntactic sugar है? कृपया सरल उदाहरणों के साथ समझाएं कि कब