Diskuze: Kolekce předem neznámého typu

C# .NET .NET (C# a Visual Basic) Kolekce předem neznámého typu American English version English version

Avatar
hanpari
Redaktor
Avatar
hanpari:

Ahoj,
mohl by mi někdo poradit, jak vytvořit generický List, když dopředu neznám jeho typ.

Něco ve smyslu

c = new List<neznamy_typ>();

Jde mi o to, že ten typ dopředu neznám a zjistím ho až za běhu.

 
Odpovědět 9.1.2015 16:27
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na hanpari
Jan Vargovský:

Jedině použít List<object> resp. přímo ArrayList, ale určitě bys měl vědět co ti tam přijde za typ.

 
Nahoru Odpovědět 9.1.2015 16:55
Avatar
hanpari
Redaktor
Avatar
Odpovídá na Jan Vargovský
hanpari:

Ahoj shodou okolnosti zkousim neco jako tvuj parser. Dokazu zjistit typ sloupce ale nevim jak ho dynamicky ulozit do kolekce

 
Nahoru Odpovědět 9.1.2015 17:34
Avatar
hanpari
Redaktor
Avatar
Odpovídá na Jan Vargovský
hanpari:

Dobrý, už jsem na to přišel. Tohle je idea v F#

open System

let convert value = Int32.Parse(value)
let pole = ["1"; "2"] |> List.map convert
let c = ResizeArray(pole)

Výstup pak vypadá asi takto:

val convert : value:string -> int
val pole : int list = [1; 2]
val c : List<int>

Čímž jsem v podstatě získal z řetězce kolekci čísel, jak jsem potřeboval :)

 
Nahoru Odpovědět 9.1.2015 18:37
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.