dj4400 Ответов: 3

объект массива C# в массиве


Привет,
у меня есть простой вопрос:
я могу конкретно привести массив объект в массив типа int?

вероятно, нет, потому что массив объектов может содержать поплавки или длинные и т. д..
:до:
спасибо
dj4400

3 Ответов

Рейтинг:
2

Andrew Rissing

Вы не можете преобразовать целочисленный массив в массив объектов. Но вы можете сделать следующее:

object[] a = new object[] { (int)1, (int)2 }

или
object b = (object)(new int[] { 1, 2 })


-----------------------

Извините, но ваш вопрос не соответствует вашему первоначальному названию.

Но в конечном счете, это следует обратному из вышеприведенных правил. Вы можете привести содержимое массива объектов к целому числу. Вы не можете просто сделать это непосредственно со ссылкой на массив объектов. Вы должны перебирать каждый из объектов и бросать их по одному за раз.


Рейтинг:
1

AspDotNetDev

Смотреть на ConvertAll Это позволяет указать функцию для выполнения преобразования. Поскольку вы указали, что массив может содержать нецелочисленные типы данных (например, float), вам нужно будет выполнить явное приведение для усечения значений.


AspDotNetDev

Кроме того, это работает с .Net Framework 2.0, поэтому он более гибкий, чем универсальный метод Cast.

Samuel Cherinet

хорошо!!! должен сказать, что это лучший подход, вы узнаете что-то новое каждый день. Спасибо!

Рейтинг:
1

Samuel Cherinet

если вы используете .net 3.5 это может вам помочь

object[] objarr = new object[] {1,2,3 };
 int[] arr= objarr.Cast<int>().ToArray();


это аккуратный метод, включенный в .net 3.5, который позволяет вам разыграть всю коллекцию.

Надеюсь, это помогло
удачи


AspDotNetDev

Это не сработает, так как ОП указал, что массив может содержать другие типы, которые не могут быть непосредственно назначены int, например float, что потребует приведения эксплицитности. Попробуйте использовать 5.5 вместо 1 в вашем массиве.

Member 11058486

это решение не работает,поэтому сотрите его и дайте правильное решение

Member 11058486

http://www.codeproject.com/script/Forums/Messages.aspx?fmid=11058486
на этой странице ,когда я перелистываю страницу вверх и вниз, ваш Теам распространяется, так что координируйте его