F # - Wie man eine System.Collections.Generic.List aus einem Array auffüllt

8

Ich habe folgenden Code, der eine System.Collections.Generic.List auffüllt Ich mag es nicht, also habe ich mich gefragt, ob es eine bessere Möglichkeit gibt, dies zu tun.

%Vor%     
Enes 02.03.2010, 19:51
quelle

3 Antworten

16

Hast du es versucht:

%Vor%

List<'T> hat einen Konstruktor, der ein IEnumerable<'T> akzeptiert, so dass er glücklich jedes seq<'T> übernimmt, das Sie ihm übergeben haben.

    
Mehrdad Afshari 02.03.2010, 19:56
quelle
6

Zusätzlich zu Mehrdads Antwort

Ich finde es hilfreich, Hilfsmodule für viele Standardsammlungen und .Net-Typen zu definieren, um sie mehr F # freundlich zu machen. Hier würde ich das folgende definieren

%Vor%

Dann könnten Sie Ihren ursprünglichen Code in den folgenden

ändern %Vor%     
JaredPar 02.03.2010 20:01
quelle
2

Der F # Alias ​​für System.Collections.Generic.List<_> ist ResizeArray<_> als kvb notiert. Das F # PowerPack enthält ein ResizeArray-Modul für die Arbeit mit BCL-Listen in einer idiomatischen F # -Methode ähnlich wie die Seq- und List-Module.

Aus irgendeinem seltsamen Grund scheint dieses Modul ofArray und ofList und toSeq , aber nicht ofSeq zu enthalten.

    
Joel Mueller 02.03.2010 20:19
quelle

Tags und Links