LINQ Ошибка? Получить массив строк из списка длинных - PullRequest
0 голосов
/ 30 ноября 2009

Я получаю это Unable to cast object of type 'System.Int64' to type 'System.String'. из следующего фрагмента кода:

 IList<long> Ids = new List<long>();
 Ids.Add(6962056);
 Ids.Add(7117210);
 Ids.Add(13489241);

 var stringIds = Ids.Cast<string>().ToArray();

и Booooooooooooom .... идеи?

Ответы [ 2 ]

7 голосов
/ 30 ноября 2009

Вы не можете привести к строке. Вам нужно указать, какую операцию выполнять, чтобы превратить длинные в строки. Я предпочитаю использовать Linq для выбора новых значений:

var stringIds = Ids.Select(id => id.ToString());
1 голос
/ 30 ноября 2009

Это потому, что вы не можете использовать длинные строки.

Ты путаешь

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

с

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