2009-10-28 27 views
8

Tengo un Dictionary<int, string> que quiero llevar la colección de claves a una cadena CSV.Cast Dictionary KeyCollection to String array

que pensaba hacer:

String.Join(",", myDic.Keys.ToArray().Cast<string[]>()); 

El elenco está fallando sin embargo.

Gracias

Respuesta

13

¿Qué tal esto ...

String.Join(",", myDic.Keys.Select(o=>o.ToString()).ToArray()); 
0

moldeada a un string, no un string[]

String.Join(",", myDic.Keys.ToArray().Cast<string>()); 

Editar: Esto no funciona - no lo hace moldeada realizar la conversión de tipo. Hay un método ConvertAll en Array que es sólo para este propósito:

String.Join(",", Array.ConvertAll(myDic.Keys.ToArray(), i => i.ToString()); 
7

Esto funcionará:

String.Join(",", myDic.Keys.Select(i => i.ToString()).ToArray());