私は次のものを持っています:
var resourceids = racks.Select(a => a.Technology.IT360ID.Value);
var resource = repository.GetResources(resourceids);
しかし、リポジトリメソッドが受け入れるように変換var resourceidsする方法がわかりませんlong[]long[]
が であると仮定するa.Technology.IT360ID.Valueと、実際にはlongです。したがって、次を使用して変換するだけです。resourceidsIEnumerable<long>ToArray()
var resourceids = racks.Select(a => a.Technology.IT360ID.Value).ToArray();
var resource = repository.GetResources(resourceids);
varこれは「型」ではないことに注意してください。明示的に宣言するのではなく、コンパイラに型を決定させるだけです。
これは、 を使用するよりも型を明示的に宣言する方がよい場合varです。
long[] resourceids = racks.Select(a => a.Technology.IT360ID.Value).ToArray();
var resource = repository.GetResources(resourceids);
メソッドSelectは を返しIEnumerable<long>ます。したがって、に変換するには、すぐにクエリの評価を強制し、クエリ結果を含む配列を返す をlong[]呼び出すことができます。ToArray()
var resourceids = racks.Select(a => a.Technology.IT360ID.Value)
.ToArray();
var resource = repository.GetResources(resourceids);