問題タブ [implicit-typing]

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 投票する
17 に答える
19534 参照

c# - なぜ var が悪いのでしょうか?

先日、同僚とおしゃべりをしていて、彼らのコーディング標準varでは、C# でのキーワードの使用が明示的に禁止されていると聞きました。彼らはなぜそうなのかわからなかったので、私は常に暗黙の宣言がコーディング時に非常に役立つことを発見しました. 変数の型を見つけるのに問題があったことは一度もありません(VSで変数にカーソルを合わせるだけで、そのように型が得られます)。

C# で var キーワードを使用するのが悪い考えである理由を誰かが知っていますか?

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

c# - 暗黙的に型指定されたローカル変数の使用

ReSharperの試用版をインストールしたところ、最初に気づいたことの 1 つは、明示的に型指定されたローカル変数を暗黙的に型指定された変数に置き換えることを常に提案していることです。

明示的に型付けされた変数の方が読みやすい (より明示的) と思います。

ReSharper の提案についてどう思いますか? 暗黙的に型指定された変数を使用する利点はありますか? いつ暗黙的/明示的な変数を使用しますか?

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

parameters - ユーザー定義型を SqlParameterCollection.AddWithValue に渡すにはどうすればよいですか?

StudentID文字列への暗黙的な変換を行うというカスタム データ型があります。

StudentIDインスタンスを(値として)に渡しSqlCommand.Parameters.AddWithValueてコマンドを実行すると、次のエラーが表示されます。

のようなパラメーターの型を指定SqlDbType.NVarCharしても役に立ちません。機能する唯一の方法は、StudentID値を文字列に明示的にキャストすることです。これは、暗黙的なキャストの目的を無効にします。

フレームワークは利用可能な変換を考慮していないと思います。StudentIDプリミティブ型への明示的なキャストを必要とせずに、コマンドがクラスを処理できるようにするためにクラスに対してできることはありますか?

この MSDN の記事では、プリミティブ型の処理方法について説明していますが、ユーザー定義型については説明していません。最も近いのは object で、Variant として渡されます。

失敗の正確なポイントは、署名付きの System.Data.SqlClient.MetaType.GetMetaTypeFromValue メソッドにありますprivate static MetaType GetMetaTypeFromValue(Type dataType, object value, bool inferLen)。リフレクションは、プリミティブ型を探すことを明らかにし、TypeCode がオブジェクトの場合、SqlBoolean などの Sql* データ型を探すため、非常に特定の種類のプリミティブまたは Sql* 型を探しているようです。

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

c# - 暗黙の型付け; なぜローカル変数だけですか?

暗黙の型付けがローカル変数に限定されている理由を知っている、または推測したい人はいますか?

しかし、なぜ...

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

c# - クラスの暗黙的な変換

次のようにクラスで暗黙的な変換を使用できることは知っていますが、インスタンスを取得してキャストや変換なしで文字列を返す方法はありますか?

0 投票する
8 に答える
3203 参照

c# - C# 3.0 での暗黙的な型付けの利点は何ですか >+

私が見ることができる唯一の利点:

以上

後で ClassB が必要だと判断した場合は、宣言の RHS を変更するだけで済みます。

コレクションを列挙している場合は、単に「var」にして、後でタイプを把握することもできると思います。

それですか??私の弱い心には見えない、他に何か大きな利益があるのだろうか?

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

c - 「長い i = 1;」Cで暗黙の型変換を引き起こしますか?

long i = 1;" " の代わりに " "と書いlong i = 1l;た場合、 は1として認識されint、暗黙的に に変換されlongますか?

編集:ありがとうございました。型変換がないことがわかります。サフィックスu(のような10u)もそうですか?lでは、それらのとの用途は何uですか?

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

c# - C# の暗黙的な型でこれを行うことができないのはなぜですか?

ここでやりたいことを行う別の方法はありますか?

そうでない場合、暗黙の型にはあまり意味がありません...

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

c++ - 式 int から double への暗黙的な型変換

コードで名前付き定数を使用する場合、暗黙的な型変換を削減しようとしています。たとえば、使用するのではなく

私は使うだろう

そのため、型変換を行う必要はありません。しかし、私がこのようなことをする表現では...

その 2 は整数として評価され、暗黙的に変換されますか? 代わりに 2.0 を使用する必要がありますか?

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

c# - 今後は暗黙的に型指定された変数です (C#)

.net v2 用に最初に作成されたプロジェクトで、Resharper の StyleCop を使用しています。しかし、それ以来、このプロジェクトを 3.5 フレームワーク用にアップグレードしました。

Stylecop は、明示的に型指定された変数の大部分を暗黙的に型指定されたものに変更することを推奨しています。例:

文字列 - 変数

カスタムの厳密な型 - var

これは、.net 3.5 プロジェクトで作業する場合の進め方ですか。すべてを var として宣言するのは珍しいようです。

私の用語が出てきた場合は、質問のタイトルを自由に更新してください...