問題タブ [using]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - using ブロックで C# BinaryWriter または BinaryReader を閉じる必要がありますか?
このコードを持つ:
BinaryWriter を閉じる必要がありますか? そうでない場合、なぜですか?
c# - C1ZipFileを使用した後にこのファイルを削除できないのはなぜですか?
次のコードは、「プロセスはファイルにアクセスできません」というメッセージとともにSystem.IO.IOExceptionを表示します。
ファイルがまだロックされている可能性がある場所を確認するのに苦労しています。ファイルへのハンドルを保持している可能性のあるすべてのオブジェクトは、ブロックを使用しており、明示的に閉じられています。
静的なGetFilesメソッドによって返される文字列ではなく、FileInfoオブジェクトを使用することと関係がありますか?
何か案は?
c# - 未使用の using ディレクティブはパフォーマンスにどのような影響を与えますか?
新しいページまたはプロジェクトを作成するたびに、Visual Studio によって using ステートメントが自動的に作成されます。これらのいくつかは決して使用しません。
Visual Studio には、「未使用の using を削除する」という便利な機能があります。
アクセスされない using ステートメントがファイルの先頭に記載されたままになっていると、プログラムのパフォーマンスに悪影響があるのではないかと思います。
c# - 破棄される前に SQLConnection を Close() する必要がありますか?
Disposable objects に関する私の他の質問によると、using ブロックの終了前に Close() を呼び出す必要がありますか?
c# - C#とVB.Netの名前空間参照
VB.Netでは、問題なく次のようなことができます...これはかなり役に立たないクラスであるという事実を無視してください:-)
ただし、C#で同じことを行うと...
「Collections.Generic.List」に「タイプまたは名前空間名「Collections」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)」というエラーが表示されます。
Listを使用するには、System.Collections.Genericへのusingディレクティブが実際に必要であることは知っていますが、その理由はわかりません。また、関数宣言で同じエラーが発生しない理由もわかりませんが、returnステートメントでのみ発生します。
私は誰かがこれを説明したり、それを説明しているtechnetページを紹介してくれることを望んでいました。私は周りを検索しましたが、この概念を説明するものは何も見つかりません。
編集:ただ注意するために、問題は実際には、システム内のコレクションを参照できる例のように、サブ名前空間の参照に関するものです。
c++ - 【C++】静的クラス関数でusing宣言を使用することはできますか?
それは合法ですか?
編集:機能を修飾するのを忘れました。ごめん。
c# - C# のネストされた using ステートメント
私はプロジェクトに取り組んでいます。2 つのファイルの内容を比較し、それらが正確に一致しているかどうかを確認する必要があります。
多くのエラーチェックと検証の前に、私の最初のドラフトは次のとおりです。
using
ネストされたステートメントがあるのは少し奇妙に思えます。
これを行うより良い方法はありますか?
c# - using ステートメントが構造体の場合、その引数をボックス化するのはいつですか?
次のコードについていくつか質問があります。
私の質問は次のとおりです。
- ボックス
Disposable
から返された構造体で動作する using ステートメントは、構造体であるかどうか。Test()
- どうすれば自分で答えを見つけることができますか?
自分自身を見つけようとするために、上記のコードによって生成された IL を調べました。Main(...)
メソッドの IL は次のとおりです。
そこにある仮想メソッドの呼び出しがボックス化操作を導入すると思われますL_0010
が、実際のbox
命令はここにはありません。
私が尋ねている理由は、しばらく前、おそらく 1 ~ 2 年前に、誰かがコメントした using ステートメントの「最適化」をオンラインで見たからです。オブジェクトの短時間ロックの構文として using ステートメントが使用され、メソッドでロックが取得され、構造体が返され、破棄されるとロックが解放される場合がありました。コードは次のようになります。 :
コメントは、LockTheObject
メソッドの戻り値の型をIDisposable
実際に使用される構造体に変更することで、ボクシングが回避されたというものでした。
しかし、私はこれが本当なのか、それともまだ本当なのか疑問に思っています。
誰かが私を正しい方向に向けることができますか? ボックスの操作を確認するためにランタイム アセンブリ コードを検査する必要がある場合は、何を探すべきかの例を示してください。私はアセンブリ コードに精通しているので問題ありませんが、何も飛び出していません。私もそれを見たとき。