[英]Scala shortest equivalent to c# LINQ
我需要在scala中創建一堆新對象以下C#代碼的最短等價物是什么?
var n = 100;
var persons = Enumerable.Range(1, n).Select(x=>new Person(x)).ToList();
這有什么不對嗎?
val persons: List[Person] = (1 to n) map (new Person(_))
使用List.range :
List.range(1, n + 1).map(new Person(_))
或者李建議:
(1 to n).map(new Person(_)).toList
調用toList
是必需的,因為(1 to n).map(new Person(_))
生成一個IndexedSeq[Person]
。 另請注意, 1 to n
的類型是Range.Inclusive
,它與List.range(1, n + 1)
的類型不同,它是List[Int]
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.