Avatar ·

C# में IEnumerable और List: क्या चुनें और वे कैसे काम करते हैं?

नमस्ते! मैं C# में नया हूँ और अक्सर IEnumerable और List के बीच चुनाव करने में भ्रमित हो जाता हूँ। उदाहरण के लिए, मैं एक method लिख रहा हूँ जो database से numbers की list return करता है:\n\n```csharp\npublic List GetNumbers()\n{\n var numbers = new List();\n for (int i = 0; i < 10; i++)\n {\n numbers.Add(i);\n }\n return numbers;\n}\n```\n\nलेकिन मेरे colleague ने कहा कि IEnumerable return करना बेहतर है। मुझे समझ नहीं आता क्यों। मैंने यह भी देखा कि LINQ में Where() जैसे methods IEnumerable return करते हैं, और ToList() इसे List में बदल देता है। जब मैं लिखता हूँ:\n\n```csharp\nvar query = numbers.Where(n => n > 5);\nforeach (var n in query)\n{\n Console.WriteLine(n);\n}\n```\n\nसब कुछ काम करता है, लेकिन मुझे नहीं पता कि "under the hood" क्या हो रहा है। क्या performance में कोई अंतर है? क्या मैं I में elements को modify कर सकता हूँ?