C#ポケットリファレンス
という本の202
ページにコレクションのクラス・インターフェースとして下記のlst
の分が載ってたのですが、mscorlib
から引っ張りだせません。名前が違うのでしょうか?ヒントを教えていただけると嬉しいです。
module Test =
let dotNetAPIList =
typeof<obj>.Assembly.GetTypes ()
|> Array.map ( fun t -> ( t.Namespace, t.Name ) )
|> Array.sortBy id
|> Array.distinct
let mySeek targetName =
dotNetAPIList
|> Array.filter ( fun tpl -> snd tpl = targetName )
|> Array.iter ( printfn "%A" )
let lst = ["ICollection";"List";"LinkedList"
"HashSet";"Dictionary";"Queue";"Stack"]
for v in lst do
mySeek v
結果
("System.Collections", "ICollection")
("System.Collections", "Queue")
("System.Collections", "Stack")
dll
から情報を引っ張ればいいのか〜。どうやれば。。。
// mscorlib
("System.Collections", "ICollection")
("System.Collections.Generic", "List`1")
("System.Collections.Generic", "Dictionary`2")
("System.Collections", "Queue")
("System.Collections", "Stack")
// SystemCoreDll
("System.Collections.Generic", "HashSet`1")
("System.Linq.Expressions.Compiler", "Stack")
// SystemDll
("System.Collections.Generic", "LinkedList`1")
Class Name Assembly Namespace alias name
---------- --------------- ------------------ -------------
ICollection mscorlib.dll System.Collections
List mscorlib.dll System.Collections.Generic List`1
LinkedList System.dll System.Collections.Generic LinkedList`1
HashSet System.Core.dll System.Collections.Generic HashSet`1
Dictionry mscorlib.dll System.Collections.Generic Dictionary`2
Stack mscorlib.dll System.Collections
Queue mscorlib.dll System.Collections
AppDomain
のコードはこれからとりかかります!Merge
だとTaskを1つずつシーケンシャルに実行ができませんね…
// このリストを
let lst = [ "Microsoft.FSharp.Collections.Array2DModule"
"Microsoft.FSharp.Collections.ListModule"
"Microsoft.FSharp.Collections.MapModule" ]
// このように表示させたい
"Microsoft"
" FSharp"
" Collections"
" Array2DModule"
" ListModule"
" MapModule"
let zero = ["Microsoft"]
let fist = ["FSharp"]
let scnd = ["Collections"]
let four = ["Array2DModule";"ListModule";"MapModule"]
let f0 = fun s -> String.replicate 0 "\t" + s
let f1 = fun s -> String.replicate 1 "\t" + s
let f2 = fun s -> String.replicate 2 "\t" + s
let f3 = fun s -> String.replicate 3 "\t" + s
zero |> List.map f0 |> List.iter (printfn "%A" )
fist |> List.map f1 |> List.iter (printfn "%A" )
scnd |> List.map f2 |> List.iter (printfn "%A" )
four |> List.map f3 |> List.iter (printfn "%A" )