Вы не можете бросить между универсальными типами с параметрами другого типа. Специализированные универсальные типы не являются частью того же дерева наследования и несвязанные типы - также.
, Чтобы сделать эти предсетевые 3.5:
List<string> sl = new List<string>();
// Add strings to sl
List<object> ol = new List<object>();
foreach(string s in sl)
{
ol.Add((object)s); // The cast is performed implicitly even if omitted
}
Используя Linq:
var sl = new List<string>();
// Add strings to sl
var ol = new List<object>(sl.Cast<object>());
// OR
var ol = sl.Cast<object>().ToList();
// OR (note that the cast to object here is required)
var ol = sl.Select(s => (object)s).ToList();
Objective-C, язык, определенно да. По крайней мере, GCC (GNU Compiler Collection) отлично компилирует Objective-C. Вы можете получить либо Cygwin для полной среды, подобной POSIX, либо MinGW, который предоставляет только набор инструментов GNU для программирования Win23 API
. Но iPhone нуждается в Apple API, который является полностью проприетарным; если они говорят «Нет Windows», то это просто недоступно для Windows
. Конечно, iPhone API основан на Cocoa, который основан на NextSTEP. Вы можете почувствовать API с помощью OpenSTEP.
Но это не iPhone.
Да, вы можете скомпилировать Objective-C в Windows. Но для разработки iPhone этот вопрос уже задавался .
И есть несколько похожих вопросов о разработке iPhone здесь, в Stackoverflow, просто найдите его.
GCC ( http://gcc.gnu.org/ ) может компилировать Objective-C.
The answer is yes, but it will probably require quite a lot of work on your part:
www.gnustep.org www.cocotron.org
Стоит взглянуть на Cocotron, который стремится реализовать кросс-платформенную Apple-совместимую версию основных библиотек NeXTStep, FoundationKit и ApplicationKit. Windows включена.