using var notNeeded = await foo();
foo
回傳一個實作 IDisposable 的物件,但該物件可以立即被丟棄。寫這行的慣用方式是什么?
using var notNeeded = await foo(); // (1) possible lint error: unused variable
using var _ = await foo(); // (2) looks clean but lives until the end of the function (which is rarely an issue)
using _ = await foo(); // (3) not legal
using (await foo()); // (4) possible lint error: possible mistaken empty statement
using (await foo()) {} // (5) looks like a mistake but actually does call Dispose() immediately
還有更優雅的方法嗎?
uj5u.com熱心網友回復:
我更喜歡立即處理不需要的IDisposable
物件:
(await foo()).Dispose();
...如果它是IAsyncDisposable
:
await (await foo()).DisposeAsync();
uj5u.com熱心網友回復:
我會說立即處理它
var notNeeded = await foo();
notNedded.Dispose();
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/483515.html
上一篇:讀取檔案行時忽略空格c#
下一篇:如何在2D串列中添加值