Мне пришлось преобразовать строку в массив int сначала, разделив строку запятой, а затем преобразовать в массив int.cast <int> method in C# is not type casting
и следующая строка работает отлично
int[] array = input.Split(',').Select(obj=>Convert.ToInt32(obj)).ToArray();
, но я хотел сделать это по-другому, используя метод расширения Cast.
int[] array = input.Split(',').Cast<int>().ToArray();
, но с использованием расширения расширения он выбрасывает недействительное исключение операции литья.
Я даже применил методType() до того, как он был наложен, но на самом деле он не нужен, но все еще не работает.
int[] array = input.Split(',').OfType<string>().Cast<int>().ToArray();
Какая ошибка я здесь делаю.
Я использую метод литья соответствующим образом.
@peter пожалуйста, прочитайте мой вопрос первый –
Для 'Литой()' метод работы, объект должен быть правильного типа уже. Метод 'Cast ()' только переинтерпретирует данные, он не делает никакого преобразования. См. Отмеченный дубликат для правильных методов в C# для синтаксического анализа строки как 'int'. –
@PeterDuniho, поэтому он не набирает литые, то почему он называется cast –