問題タブ [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.
c# - 暗黙的に型指定されたトリプレットの配列
私はユニットテスト方法を持っています:
どのタイプが(設計された)互換性があるかを「知っている」ので、テストされているユニットを呼び出し、エラーを探します。エラーは互換性のないタイプに対してのみ表示されるはずなので、メソッドは、ユニットのタイプチェックコードが正しく実装されているかどうかをテストします。
質問:トリプレットコレクションをどのように作成しますか?
私は次のようなものが欲しいです:
暗黙のタイピングで。
PS私はNUnitと一緒に属性を使用できることを知っています。それでも、ライブラリなしでどのように記述できるかを知りたいと思います。
よろしく、
c# - C# で var を使用して複数の変数を宣言できないのはなぜですか?
以下を考えると:
だから、これは私を驚かせます:
コンパイルしません。たぶん、これについて私が理解していないことがありますか(それが私がこれを尋ねている理由です)?
しかし、なぜコンパイラは私が意図したことを認識しないのでしょうか:
コンパイルします。
c# - 匿名メソッドを var に割り当てられないのはなぜですか?
次のコードがあります。
ただし、以下はコンパイルされません。
コンパイラがそれが であると判断できないのはなぜFunc<string, bool>
ですか? 1 つの文字列パラメーターを取り、ブール値を返します。代わりに、次のエラーが表示されます。
匿名メソッドを暗黙的に型指定されたローカル変数に割り当てることはできません。
私は1つの推測を持っています.varバージョンがコンパイルされた場合、次のようにすると一貫性が失われます:
Func<> は最大4つの引数しか許可しないため、上記は意味がありません(.NET 3.5では、これを使用しています)。おそらく、誰かが問題を明確にすることができます。ありがとう。
f# - 暗黙のF#型に初期化コードを必要とするオーバーロードされたコンストラクターの追加
私は現在次のコードを持っています:
私の問題は、bool[,]
パラメーターを受け取る最後のコンストラクターにあります。コンパイラーは、このコンストラクターの初期化に使用しようとしている2つのforループを回避させてくれません。どうすればこれを機能させることができますか?
c# - 暗黙的に型指定されたローカル変数を IList に初期化する
わかりましたimplicitly-typed local variables must be initialized
。
私はそれresult
が になることを知っているIList
ので、どうにかして varresult
が になると言えIList
ますか?
c# - 暗黙型のクラス メンバー
重複の可能性:
メソッド外で var を使用する
ちょっと調べてみましたが、検索用語がよくわからないので、見つかりませんでした。
なぜ私はこれを行うことができません:
相当な理由があるに違いないと思いますが、思いつきません!
「C#ではできない」という理由よりも、その理由に興味があります。
EDIT:編集Dictionary
された宣言、申し訳ありません(例の単なるタイプミス)!
c# - 暗黙の型付けの使用
重複の可能性:
Resharper: vars
var thing1 = 5
とは対照的に、リシャーパーが提案する理由はありint thing1 = 5
ますか? var が人間の読者にとって理解しにくい/理解できないことを除いて、それらはまったく同じことを意味しているようです。コンパイラがそれらを解釈する方法に違いがあるのか 、それとも単なる構文糖衣なのか知りたいです。
c# - 明示的な型との暗黙的な型の比較 - C#
型比較に関して興味深い問題があります。何かが何らかのコレクションであるかどうかをテストするために、暗黙の型と明示的な型を比較しようとしています
テスト中に、それがobField
オブジェクトのコレクションになることを確認できます。ただし、常にチェック内で実行されることがわかりました and return true
、代わりにそれをスキップしたいのですが(2つのタイプが等しいため)。
少しデバッグすると、obField
asのタイプが得られobject {System.Collections.Generic.List<System.DateTime>}
ます。
そのタイプを一致させるにはどうすればよいですか?
ありがとう
.net - ReSharperおよび暗黙的に型付けされた変数
私はReSharperを使用して、コードで発生する可能性のあるエラーを見つけています。エラーではありませんがvar
、宣言で変数を明示的に入力する代わりに、キーワードを使用する必要があると不平を言い続けています。個人的には、私が書いた場合、私にとっても、私のコードを読んでいる人にとっても、はるかに明確だと思います。
それ以外の
両方の方法でパフォーマンスに違いがないことを知っているので、これらのヒントを無視するか、var
キーワードを使用する必要がありますか?
それは好みの問題なのか、それとも暗黙的に変数を型付けするのが良い習慣なのか?
c# - 暗黙の型として宣言された数値がC#でデフォルトで整数になるのはなぜですか?
例1
結果255:バイト
例2
結果255:Int32
例3
結果10:Int32
例4
結果:エラー:long型をintに暗黙的に変換できません
私の質問は、C#が。を使用するときにタイプをデフォルトでInt32に設定する理由ですvar
。