私はC#の初心者ですが、現時点で理解できないことの1つは、型を2回記述する必要がある理由です。
Dictionary<string, string> Lines = new Dictionary<string, string>();
次のように、これ以上簡単にできない理由:
Lines= new Dictionary<string, string>();
// or
Dictionary<string, string> Lines = ();
それは「Lines」変数についてすべてを言っているのではありませんか?それははるかに簡単だったかもしれません。
これはメソッド内のコードであれば、なぜ、これはあるキーワードはC#3.0から存在しています:var
var Lines = new Dictionary<string, string>();
これがクラス宣言にある場合、var
キーワードは使用できません。クラスレベルで暗黙の入力が許可されない理由の詳細がわからないことは認めますが、許可されていないと言えば十分です。明示的な入力が必要です。
private Dictionary<string, string> Lines;
その宣言とは完全に別のものは、その変数の初期化です。これは、同じ行、コンストラクター、メソッドなどで実行できます。ただし、new
キーワード自体は、次のタイプを明示的に指定する必要があります。
new Dictionary<string, string>()
これらは2つのまったく異なるものであり、どちらも独自の個別の非常に正当な理由でタイプを指定する必要があります。
最終的に、「なぜ言語はこれを行わないのですか?」と尋ねるときはいつでも。あなたが本当に尋ねるべきことは、「言語はこれを行うべきですか?それは本当に必要ですか?」です。
Eric Lippertが前の質問で私に言ったように、「[その不要な機能]を排除することで、[その不要な機能]のルールを検討、議論、設計、指定、実装、テスト、文書化する必要はありませんでした。顧客に出荷されるか、C#の将来のすべての機能と互換性があります。」
観覧席から叫ぶのは簡単です。主要なプログラミング言語の設計とサポートはそれほど簡単ではありません。たぶんいつかこの機能が存在するでしょう、そしてあなたはそれをチームに提案することを歓迎します。しかし、「なぜそれが存在しないのか」に関しては、チームは単にそれを実現させませんでした。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加