Подтвердить что ты не робот

Должно ли приложение WPF записываться в С++/CLI или С#?

Приложения WPF являются, по сути, управляемыми приложениями? Правильно? Итак, мне нужно выбирать между использованием управляемого С++ или управляемого С#. Я экспериментировал с управляемыми С++ годами назад. Казалось, он не совсем готов к прайм-тайм. Я предполагаю, что Microsoft приложила больше усилий к управлению С#, чем к управляемому С++. Таким образом, похоже, что использование управляемого С# - лучшая альтернатива между двумя. Это так? Какой опыт у вас был с WPF на любом языке? Спасибо заранее.

4b9b3361

Ответ 1

Управляемый С++ был заменен С++/CLI, а "управляемый С#" - это просто С#.

Я настоятельно рекомендую вам использовать С# для нового проекта и использовать С++/CLI только тогда, когда это необходимо. С# имеет лучшую поддержку, имеет большую пользовательскую базу и легче работать с Visual Studio 2010.

Кроме того, имейте в виду, что С++ и С++/CLI - это два разных языка. Для моего первого .NET проекта я выбрал С++/CLI, потому что я уже знал С++, и это была очень плохая идея: кривая обучения от С++ до С++/CLI похожа на изучение С# из С++: не попадайте в эту ловушку.

Ответ 2

С++/CLI был сделан только для поддержки написания слоев взаимодействия между неуправляемым кодом (т.е. встроенным C/С++) и управляемым кодом. Для "тяжелого подъема" вам обязательно нужно использовать С# (или VisualBasic.NET).

Ответ 3

Вы можете использовать управляемый С++ для своего бэкэнд, но при проверке VS (я использую 2010 Ultimate) не имеет встроенных шаблонов для приложения С++ WPF - только С# или VB.

Я уверен, что вы можете заставить его работать, если хотите, но я бы предложил вам использовать С#.

Ответ 4

В терминах бэкэнд они оба работают на CLR и оба могут работать. На самом деле это сводится к тому, с чем вам больше всего нравится. Если вы не уверены, экспериментируйте с обоими. Используйте то, что чувствует себя наиболее продуктивно.

Edit

Как мне только что указывалось, похоже, поддержка шаблонов WPF (и, возможно, даже intellisense) просто не существует для С++. Поэтому в этом случае я бы предпочел рекомендовать С#.

Ответ 5

С# является наиболее часто используемым, поэтому, если у вас есть проблемы, для С# существует больше онлайн-поддержки. С# также имеет лучшую поддержку со стороны Microsoft. Это в целом просто более готовый продукт, даже сейчас. Если вы действительно не заботитесь о себе, я бы пошел с С#.

Ответ 6

IMO, без сомнения, С# (или VB/F #).

С++/CLI отлично подходит для пересечения границы управляемого мира и библиотеки С++. Сложность выше, хотя тонкие проблемы возникают из-за того, что один объединяет управляемый язык и неуправляемый.

Время компиляции больше, хотя и в С++/CLI, особенно, поскольку шаблоны кода моделируются после того, как компилятор С# работает не на том, как работает компилятор С++.