Junior — Middle
Πότε πρέπει να χρησιμοποιείτε μια μέθοδο με τύπο επιστροφής void και πότε ένα Task χωρίς παραμέτρους σε ασύγχρονες λειτουργίες;
sobes.tech AI
Απάντηση από AI
Η μέθοδος με τύπο επιστροφής void χρησιμοποιείται για συγχρονικές λειτουργίες που δεν επιστρέφουν τίποτα.
Στον ασύγχρονο προγραμματισμό σε C#:
- Χρησιμοποιήστε
async voidμόνο για χειριστές συμβάντων, όπου η μέθοδος καλείται από το σύστημα και δεν αναμένεται αποτέλεσμα. - Για ασύγχρονες μεθόδους που δεν επιστρέφουν τιμή, χρησιμοποιήστε
Task(χωρίς παραμέτρους). Αυτό επιτρέπει την κλήση της μεawaitκαι τη διαχείριση εξαιρέσεων.
Παράδειγμα:
// Σωστό για ασύγχρονη μέθοδο χωρίς αποτέλεσμα
public async Task SaveDataAsync()
{
await SomeIOOperationAsync();
}
// Χρησιμοποιείται μόνο για γεγονότα
public async void Button_Click(object sender, EventArgs e)
{
await SaveDataAsync();
}
Επομένως, Task χωρίς παραμέτρους — για ασύγχρονες λειτουργίες χωρίς αποτέλεσμα, void — για συγχρονικές μεθόδους ή ασύγχρονους χειριστές συμβάντων.