0
我想返回給定列表的複製版本,其中每個元素都乘以標量。返回複製和相乘列表
...
int attenuation = 3;
return new List<double>(VoltsPerDivX1.Select(x => x*attenuation));
VoltsPerDivX1
是List<double>
類型的現有列表。這是正確的方式還是有更好的?
我想返回給定列表的複製版本,其中每個元素都乘以標量。返回複製和相乘列表
...
int attenuation = 3;
return new List<double>(VoltsPerDivX1.Select(x => x*attenuation));
VoltsPerDivX1
是List<double>
類型的現有列表。這是正確的方式還是有更好的?
這是稍微更地道:
return VoltsPerDivX1.Select(x => x * attenuation).ToList();
它也表現良好,如果你的電話Select(...)
發出匿名類型。在你的例子中,你必須能夠表達構造函數調用的列表類型。如果你是做這樣的事情:
return VoltsPerDivX1
.Select(x => new { original = x, attenuated = x * attenuation })
.ToList();
參數類型列表中無法表達,因爲類型是匿名的。這可能是一個好習慣(如果您絕對需要強制評估IEnumerable
,並確保提出這個問題)才能使用.ToList()
。還有.ToArray()
。