問題タブ [byref]
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.
.net - ベスト プラクティス: ByRef または ByVal? .Netで
ByRef と ByVal を選択する際に考慮すべきことは何ですか。
2 つの違いは理解できますが、ByRef がリソースを節約するかどうか、または .Net 環境でそれについて心配する必要があるかどうかは完全にはわかりません。
ある状況で機能が問題にならない場合、どのように 2 つのどちらかを決定しますか?
actionscript-3 - AS3 関数で「ByRef」引数を使用できますか?
ActionScript 3 の関数から複数の変数を返す方法はありますか?
入力引数の変数を変更できる VB.NET のようなもの (ByRef 引数) はありますか?
連想配列を返す以外に何かありますか?
vb.net - どちらが速いですか?ByVal または ByRef?
VB.NET では、メソッドの引数にどちらを使用する方が速いですByVal
かByRef
?
また、実行時により多くのリソース (RAM) を消費するのはどれですか?
この質問を読みましたが、回答が適切でないか、十分に具体的ではありません。
vb.net - ParamArray の値を byRef として処理して更新できるようにする方法はありますか?
十分に単純に聞こえますが、機能していません。この例では、3 つのフィールドの値を 4 番目に等しくなるように設定します。私はこのようなことをすることができます....
...しかし、それはちょっと冗長です (ええ、私は知っています、ほとんどの場合、vb は冗長です)。これを1行の呼び出しに減らすために使用できるものが欲しいので、この拡張メソッドを作成しました。
簡単そうに見えますよね?さて、出来上がりは・・・
param 配列の値が戻り時に更新されませんでした! 関数のように、すべての最終値が「1」になることを期待していました。
このような更新可能な ParamArray コレクションを取得する方法はありますか? ParamArray は ByVal として宣言する必要がありますが、String のような参照型では、ポインターのコピーを作成するだけで、基になる値を変更できるのではないでしょうか?
私が欲しいものを手に入れるためのより良い方法はありますか?(C# はこのオプションではありません)。
vb.net - :=構文の使用法は何ですか?
私はVB.NETプロジェクトに取り組んでいるC#開発者であり、次のようなByRefパラメーターを使用して関数を呼び出すと、VSは:=thingieを使用させようとし続けます。
HydrateBookFromReader関数には次の署名があります。
なぜインテリセンスは私がその:=構造を使用することを主張し続けるのですか、そしてそれは何のためにあるのですか?
c++ - 従来のASPVBScriptパラメータByRefをCOMc++に渡す
とても簡単です。ByRefパラメーターを使用して3つの変数を同時に返すc++関数があります。
ただし、VBScript ASPコードは、c ++関数を呼び出すときに、bShares、bRunOnly、およびbCopyの新しい値を取得していないようです。
これを修正するために私にできることはありますか?なぜこれがこのように機能するのか誰かが説明できますか?
c# - 単純な=を使用したref質問によって異なります
byrefの質問にバリアントがあります。refまたはパラメーターを使用して呼び出すことと、それが変数とその値にどのように影響するかについては、すべて知っています。DataTableでこの問題が発生しましたが、データテーブルが単純な整数変数と異なる理由を知りたいです。
私は問題を解決する方法について物理的な答えを持っていますが、なぜそれがそのように機能するのか知りたいです。
単純な変数を使用すると、私が期待したことを実行します
コンソールに1.5が表示されます。
ただし、DataTableで同じことを行うと、新しい値ではなく、最初のデータテーブルへの参照が作成されます。
コンソールに次のように表示されます。StringColStringCol123テストテスト
mVar4 = mVar3と言うと、mVar4がmVar3への参照になります。
この問題の解決策は言うことです
だから私の質問は:データテーブルが単純な整数フィールドとは異なる動作をする原因は何ですか?DataTableの別のコピーの代わりにmVar4=mVar3を使用すると、なぜ参照が作成されるのですか?
php - PHPのプリミティブデータ型は参照渡しですか?
PHP では、多くの文字列操作を頻繁に行っています。文字列のようなプリミティブ型が値渡しされると、パフォーマンスに大きな影響を与えるため、コードを複数の関数に分割しても問題ありませんか。
c# - C#拡張メソッドでは、参照によるパラメーターの受け渡しはできませんか?
インスタンスが参照として渡されるC#で拡張メソッドを作成することは本当に不可能ですか?
VB.NETコンソールアプリのサンプルは次のとおりです。
ValueパラメータはByRefに渡されることに注意してください。
そして(ほぼ)C#でも同じです:
キーワードAdd
を使用できないため、拡張メソッドはC#では機能しません。ref
これに対する回避策はありますか?