Я думаю, что с C # гораздо лучше работать в управляемой среде. Мне кажется, что управляемый C ++ кажется довольно хитрым, и я бы предпочел работать с языком, предназначенным для управляемой среды (не то, что управляемый c ++ не будет работать). Кроме того, если вам нужно, вы можете вызывать неуправляемый код из C # так же, как из управляемого C ++.