看看下面的例子總和,所有項目的特定屬性的列表
我有一個類
public class SomeItem
{
public string Name;
public DateTime Published;
public uint16 Size;
}
我有一個List<SomeItem>
,我想計算的全部總規模項目。
在C#我想簡單地寫
var totalSize = items.Sum((i) => i.Size);
我已經採取了看看在F#列表的功能,但他們總是抱怨的類型。
你會如何在F#中編寫它?
(我已經嘗試了搜索引擎,但F#的搜索引擎支持是可怕的)
其他人建議Seq.sum_by, 我很感興趣,爲什麼你認爲Seq.fold – TimothyP 2009-05-05 14:28:14
@TimothyP:Seq.fold會做的工作,只是它的宗旨是比sum_by更通用的(可以多所有的值例如,一個列表)。在這種情況下,sum_by是很好的簡單解決方案。 – Noldorin 2009-05-05 14:38:32
同意。但是,如果您正在查找描述「按順序對所有項目執行操作並提供單一結果」的搜索術語,那麼搜索摺疊/摺疊將爲您提供一般解決方案。 – 2009-05-05 16:22:49