PDA

View Full Version : [C#][Linq] Conversione da collection ad pseudo array


robertino_salemi
03-03-2015, 10:49
Buon dì!

Ho una collection di object, da questa vorrei tirare fuori una lista formata da una property, separati da un "," e che rispettano una condizione...

Nella mia collection, gli object hanno come proprietà:
- IsChecked che è un bool
- IdNo che è un int

items è la mia collection, quindi ho:

string tmpList = string.Empty;

tmpList = String.Format(",", items.Where(x => x.IsChecked == true).Select(x => x.IdNo).ToArray());


ma tmpList rimane sempre vuoto...

Grazie

[Kendall]
03-03-2015, 11:21
Buon dì!

Ho una collection di object, da questa vorrei tirare fuori una lista formata da una property, separati da un "," e che rispettano una condizione...

Nella mia collection, gli object hanno come proprietà:
- IsChecked che è un bool
- IdNo che è un int

items è la mia collection, quindi ho:

string tmpList = string.Empty;

tmpList = String.Format(",", items.Where(x => x.IsChecked == true).Select(x => x.IdNo).ToArray());


ma tmpList rimane sempre vuoto...

Grazie

Per ottenere il risultato che cerchi String.Format non va bene.
Devi piuttosto impiegare il metodo String.Join:


var output = String.Join(",", items.Where(x => x.IsChecked == true).Select(x => x.IdNo));


Il ToArray() non serve, in quanto il metodo richiede un IEnumerable.

robertino_salemi
03-03-2015, 11:27
Esatto,
avevo modificato l'errore riguarda il "Format" con il "Join".

Non sapevo della non necessità del ToArray().

Grazie.