問題タブ [ref-parameters]

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.

0 投票する
5 に答える
468 参照

c# - メソッド内でref変数をダウンキャストする方法

longがref変数として渡されるメソッドでlongをintにダウンキャストする必要があります。

どうすればこれを簡単に行うことができますか?

0 投票する
10 に答える
11789 参照

c# - 「ref」と「out」がポリモーフィズムをサポートしないのはなぜですか?

次のようにします。

上記のコンパイル時エラーが発生するのはなぜですか? refこれは、引数と引数の両方で発生しoutます。

0 投票する
4 に答える
8195 参照

c# - 匿名メソッド内でoutパラメーターが許可されないのはなぜですか?

これは、匿名メソッドからrefまたはoutパラメーターを使用してメソッドを呼び出すことの重複ではありません

匿名メソッド内でoutパラメーターが許可されないのはなぜか疑問に思います。refパラメーターを許可しないことは私には少し意味がありますが、outパラメーターはそれほど多くはありません。

これについてどう思いますか

0 投票する
2 に答える
1590 参照

c# - C# の 'out' または 'ref' パラメータの値が実際に呼び出し元に返されるのはいつですか?

outorパラメータに割り当てを行うrefと、その値は呼び出し元によって提供された参照にすぐに割り当てられますか? または、メソッドが戻るときにoutandパラメータ値が参照に割り当てられますか? refメソッドが例外をスローした場合、値は返されますか?

例えば:

0 投票する
4 に答える
10350 参照

c# - 明示的なキャストを ref パラメーターとして渡す (C#)

私は、大部分が大きな配列のラッパーであり、関連するハウスキーピングであるクラスを持っています。ref パラメーターを取る関数があります。クラスのインスタンスを関数に渡すときに、配列が送信されるようにします。

明示的なキャストを検討しました。byte[] ref パラメータを持つ関数があるとします。

そして、オーバーロードされた明示的なキャストを持つクラスがあること。

今、クラスをパラメーターとして関数を呼び出したい

コンパイラは、「ref または out 引数は割り当て可能な変数でなければなりません」と文句を言います。コンパイラを適切にマッサージできていないだけなのか、それとも本当にそれができないのかはわかりません。

プロパティまたは関数の戻り値を検討しましたが、それらを参照で渡すことはできません (そして、自分自身を教育した後、理由がわかりました...)

配列を public フィールドにしたくないのですが、それはコンパイラを満足させます。配列を参照するローカル変数を作成することもできると思いますが、それは各関数呼び出しの前後に余分なコード行です...

編集: SomeFunction はサードパーティによって作成されたものであり、変更するアクセス権がないことに注意してください。さらに悪いことに、それらのパラメーターを実際に参照する必要はないと思います...

0 投票する
3 に答える
2582 参照

java - パラメーターを変更する (書き戻す) 可能性がある関数とメソッドの適切な命名規則

「値配列」を扱うルーチンの、適切で理解しやすい命名スキームを見つける必要があります(プリミティブ型の最適化を念頭に置いて、Java でC++ に似たものを作成しましたvalarray) 。

私は、ルーチンの主な分類が次の間で行われていることを知っています。

  • 関数 (パラメーターを取り、何かを返す必要があります)
  • メソッド (パラメーターを取り、何も返さない場合があります)

パフォーマンス上の理由から、パラメーターを読み取り専用として脅かす関数/メソッドだけでなく、最初のパラメーターを変更する可能性のある関数/メソッドも定義できます。

これだけでなく... :

...だけでなく、これも:

これらの種類のルーチンの命名スキームを提案してください:

  • すべてのパラメータを読み取り専用として扱う関数
  • 最初のパラメーターを変更する可能性のある関数
  • すべてのパラメータを読み取り専用として扱うメソッド
  • 最初のパラメーターを変更する可能性のあるメソッド

ModifyingMethod や NonModifyingMethod などのようなものを考えましたが、それらの名前は単純ではなく、長すぎると思います。

0 投票する
6 に答える
545 参照

c# - 'out'パラメータはどのような状況で役立ちますか(代わりに'ref'を使用できませんでした)?

私が知る限り、outパラメーターの唯一の用途は、呼び出し元が単一のメソッド呼び出しから複数の戻り値を取得できることです。refただし、代わりにパラメーターを使用して複数の結果値を取得することもできます。

では、パラメーターが有用であることが証明され、代わりにパラメーターをout使用できない状況は他にありますか?ref

ありがとうございました。

0 投票する
3 に答える
2948 参照

f# - out/ref extern パラメータを F# に変換する方法

次のような C# extern 宣言があります。

それをF#に変換する方法は?

0 投票する
4 に答える
640 参照

c# - ref param に副作用のある再帰プロシージャを、リストを返す再帰関数に変換する方法は?

再帰関数を作成するたびに、void を返して ref パラメーターを使用することになるようです。

結果リストを返すだけの関数を書けるようになりたいです。

答えが非常に単純である場合はお詫び申し上げます-何らかの理由で私にはわかりません。

これが私が今持っているコードです:

プロトタイプに書き直すことができるかどうか知りたいです:

0 投票する
4 に答える
269 参照

c# - c#でrefパラメータを使用するとスタックで何が起こりますか?

WCF と IDispatchMessageInspector に関するいくつかの C# ドキュメントを読んでいます。インターフェイスは、操作できるように参照によって渡される「メッセージ」オブジェクトを定義します。

普通に渡すのではなく、ref で何かを渡すと、スタック上で実際に何が起こるでしょうか?