簡體   English   中英

Scala最短等效於c#LINQ

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM