In einer vorgegebenen Liste ein bisschen wie (vereinfacht):Liste der Objekte Collections.map
type foo(n:string,m:string,l:string) =
member f.name=n
member f.val1=m
member f.val2=l
let dates = [
foo("a","aa","aaa")
foo("b","bb","bbb")
]
Wie kann aa unveränderlich Wörterbuch-Struktur (? ZB Karte, IDictionary ... alle anderen) der Form key:foo.name,value:foo
gemacht werden?
Meine beste Vermutung war
let fooDict = for f in foo do yield f.name,f
Aber die für Verständnis Syntax kann nur verwendet werden, um eine Liste, Array zu machen, oder f?
Schön. Ich habe nicht verstanden, dass ich das Ertragstupel in eine Map.ofSeq pipen konnte. Sehr hilfreich, um die syntaktischen Optionen zu sehen. – Noel
@Gustavo: wusste nicht über Diktat, nette Kurzschrift, aber es schafft ein unveränderliches Wörterbuch, nicht änderbar. Es scheint einen Objektausdruck zu verwenden, daher ist der Typ nicht sofort offensichtlich: 'd.GetType(). FullName'-> [email protected] .. type params. Sie können dem resultierenden IDictionary jedoch nicht zuweisen. –
Humm, wenn Sie versuchen, Elemente hinzuzufügen, wirft es eine NotSupportedException, wusste nicht darüber, ich nahm an, dass es ein normales Wörterbuch zurückgegeben hat. Ich habe die Antwort aktualisiert –