object[] objArray = new object[]{"blah", 4, "whatever"};
foreach(var value in objArray) vs. foreach(object value in objArray)
var が割り当てられた後もその型のままでなければならないことを除いて、それらの違いは何なのか、私は興味があります。一方が他方より優れているか?ありがとう。
の要素は宣言された型であるため、純粋に機能的な観点からは、ここでvar
は単なるショートカットです。object
objArray
object
Usingobject
は、コードを読んでいる人にとって、配列内の項目がobject
. の使用は、これを意味するものでvar
はありません。あなたが投稿した最小限のケースでは、使用するプログラムの明快さに実際には何の違いもありません。
一方、作業しているオブジェクトのタイプがコンテキストからすぐにわからない場合は、タイプを明示的に宣言する方が有利な場合があります。一方、繰り返し処理しているコレクションの要素の型が冗長で目立たない場合は、 を使用すると有利な場合がありますvar
。これにより、読者の目が混乱するのではなく、コードのロジックに引き寄せられます。ジェネリック パラメータの。
var
と他の型の唯一の違いは、コンパイラに型を決定させることです。
var
この場合は、これら 2 つに違いはありません object
。
あなたの例ではいいえ。しかし、
getを宣言objects
するとき:
Boxing と Unboxing
でも。var を使用すると、正確な型名を指定した場合とまったく同じようにコンパイルされます。
var tempval = 5;
と同じですint tempval = 5;