2009-11-30 4 views

Répondre

7

Vous ne pouvez pas lancer le long d'une chaîne. Vous devez spécifier quelle opération effectuer pour transformer les longs en chaînes. Je préfère utiliser Linq pour sélectionner les nouvelles valeurs:

var stringIds = Ids.Select(id => id.ToString()); 
+0

Vous devez sélectionner/convertir les valeurs de source ... Je pensais Cast() était beaucoup plus intelligent une fois une chaîne est la cible tapez, il devrait simplement appeler .ToString() par lui-même sur le type de source. –

1

C'est parce que vous ne pouvez pas lancer des longs aux chaînes.

Vous confondez

long l = 10; 
string s = (string)l; // this will not work, l is not a string 

avec

long l = 10; 
string s = l.ToString(); // this will work 
+0

Cela efface ce que .Cast () fait. Je pensais qu'il appelait .ToString() ... alors merci pour l'explication. –

Questions connexes