Avatar ·

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(