async/await: C# में Task कब लौटाएं और void कब?
नमस्ते साथियों! मैंने C# में एसिंक्रोनस प्रोग्रामिंग सीखना शुरू किया है और एक समस्या में फंस गया हूँ। मैं .NET 4.5 का उपयोग कर रहा हूँ और WPF एप्लिकेशन लिख रहा हूँ। जब मैं async कीवर्ड के साथ किसी मेथड को एसिंक्रोनस बनाता हूँ, तो मुझे हमेशा समझ नहीं आता कि कौन सा रिटर्न टाइप चुनूं: Task या void?\n\nउदाहरण के लिए, मेरे पास एक बटन है जो डेटा लोड करता है:\n\n```csharp\nprivate async void Button_Click(object sender, RoutedEventArgs e)\n{\n await LoadDataAsync();\n}\n```\n\nयह काम करता है। लेकिन मैंने देखा है कि कुछ उदाहरणों में `async void` के बजाय `async Task` लिखा जाता है। इसमें क्या अंतर है? और जब मैं `async void` मेथड बनाने की कोशिश करता हूँ जो इवेंट हैंडलर नहीं है, तो कंपाइलर कभी-कभी क्यों शिकायत करता है?\n\nमैंने एक मेथड भी बनाने की कोशिश की जो बस प्रतीक्षा करता है:\n\n```csharp\npublic async void WaitAndLog()\n{\n await Task.Delay(