パターンを使用するときにストリームを閉じるメソッドを呼び出す必要がありますか?パターンの使用時にストリームを閉じるメソッドを呼び出す必要があります
答えて
いいえ、あなたはにはが必要です(明示的には害はありませんが)。ストリームを廃棄する場合は、ストリームも閉じますが、.Close()
と表示されている場合は、より先にを廃棄したい場合があります。
接続の場合、読者のために、はい。
あなたは読者について何を言っていますか? –
あなたが読者を閉じない限り - たとえそれがusing()内にあっても、あなたの接続は閉じられません。 – Pabuc
Stream
- No.の場合Dispose
メソッドはClose
を呼び出します。
いいえusing
はdisposeを呼び出し、c#のすべての既知のストリームは破棄されますが、自分のストリームであり、それを実装していない場合は、そうする必要があります。
System.IO.Stream
public void Dispose()
{
this.Close();
}
でDispose
方法の逆アセンブル内容にそう答えはノーだろう。
いや、実際には、using
は次のようになります。
using(Stream stream = new Stream()){
……
}
Stream stream = null
try
{
stream = new Stream();
}
finally
{
stream.Dispose();
}
あなたはILを調べることができます。
これは本当に質問に答えません。これは、 'Dispose'メソッドではなく' Close'メソッドに関係します。 –
- 1. ログアウト時にoffAuthメソッドを呼び出す必要がありますか?
- 2. Pythonエラー "unboundメソッドを呼び出す必要があります"?
- 3. "WebSecurity"クラスの他のメソッドを呼び出す前に "WebSecurity.InitializeDatabaseConnection"メソッドを呼び出す必要があります
- 4. C#:ストリームを呼び出されたメソッドで閉じたり破棄したりする必要がありますか?
- 5. statを呼び出す前にファイルをfflushまたは閉じる必要がありますか?
- 6. syncfs()を呼び出す前にファイルを閉じる必要がありますか?
- 7. このメソッドを呼び出す前に、クライアントでenableActiveRecord()を呼び出す必要があります
- 8. 異なるクラスのメソッドを呼び出す必要がありますか?
- 9. createChannelを呼び出す前に、Channel.Openメソッドを呼び出す必要がありますか?
- 10. 入力ストリームを手動で閉じる必要がありますか?
- 11. C#.NETメソッドを呼び出すにはC++ DLLを使用する必要がありますか?
- 12. コンソールが閉じるときにメソッドを呼び出す(Java)
- 13. 使用後にBitmap.recycle()を呼び出す必要がありますか?
- 14. どのTextFieldDelegateメソッドを呼び出す必要がありますか?
- 15. グライドエラー:java.lang.IllegalArgumentException - バックグラウンドスレッドでこのメソッドを呼び出す必要があります
- 16. 'startActionMode'メソッドはどのように呼び出す必要がありますか?
- 17. 代入時にコンストラクタを呼び出す必要がありますか?
- 18. ReadAllTextを呼び出した後でファイルを閉じる必要がありますか?
- 19. セッションキーを使用してIframeダイアログを呼び出す必要があります
- 20. MonitorEnterの使用:synchronizedメソッドをどのように呼び出す必要がありますか?
- 21. スキャナメソッドread.nextInt()を2回呼び出す必要がありますが、両方に同じ値が必要です
- 22. いつDjangoでsaveメソッドを呼び出す必要がありますか?
- 23. メソッドgetText()をUIスレッドから呼び出す必要があります。
- 24. リポジトリは別のリポジトリを呼び出す必要がありますか?あるいは、リポジトリがサービス層を呼び出す必要がありますか?
- 25. 春AOPプロキシーBeanを使用してすべてのメソッドを呼び出す必要があります
- 26. チャンネルを閉じるか、RandomAccessFileを閉じる必要がありますか
- 27. コンソールを閉じるときにメソッドを呼び出す
- 28. クラスライブラリ/ファイルから呼び出しウィンドウフォームを閉じる方法は?呼び出しフォームにアクセスして.close()を実行する必要があります
- 29. C#Linqを使ってリストをフィルタリングするには、ToListメソッドを呼び出す必要がありますか?
- 30. onRequestPermissionsResultコールバックはメソッド呼び出しを待つ必要がありますrequestPermissions finish
DisposeとCloseは同じです(お互いを呼びます)。あなたが早くそれを閉じたいならば、 'using'の'} 'を動かすだけです。 – SLaks