Unterschied C++ .Net - C#

Tach auch,
mich würde mal interessieren, was eigentlich die unterschiede oder unterschiedlichen Anwendungsgebiete von C++.Net und C# sind und wie sich die beiden Sprachen dafür qualifizieren.
Knappe antworten reichen mir volkommen.
Schönen Dank schonmal.
k.

hallo

bin per zufall darüber gestolpert:

The question is: do you mean native C++ versus C# or managed C++ versus C#,
which is a big difference.
To .NET or not to .NET would be the question in the first case, selection of
language features is the question in the second case. I’ll assume you want
to use .NET

Coming from several years of C++ experience I can say:
C# rocks! It has an easy yet powerfull syntax. Some cool features are:

* all methods are inline (of course at tranlation time, not neccessarily at
runtime, the clr chooses which method to inline). No .h/.cpp messin’, only
.cs
* foreach for easy iteration over collections (foreach(ElementType element
in theArray) )
* dynamic_cast is done like this: MyClass myClass = objPtr as MyClass;
* (normally) no ->, no ::, just MyCompany.MyProduct.StaticInstance.DoIt();
* easy type comparison if(myObject is MyClass) (managed C++:
if(myObject->GetType()->Equals(__typeof(MyClass)) )
* implicit boxing: string str = 123.456.ToString("#.##");
However, this point can shoot your performance into its leg if you don’t
know exactly when boxing is performed, so be aware!
* If you want, you can still do a lot of lower-level pointer messing using
unsafe-blocks, a feature that VB.net is totally lacking!
* more type safety, e.g. no implicit cast to bool.
if(value = 5) x = 5.0f;
//etc.mess with the boxed pointer as long as you want
// if you want to unbox:
Vector unboxedVector = *boxedVector;

C#
Vector vector = new Vector();
object boxedVector = vector; //implicit boxing
// to access vector-fields, you need to unbox
Vector unboxedVector = (Vector) boxedVector;
unboxedVector.x = 5.0f;

This can be a huge performance penalty in C#, it is not even a
un-practically case. Collections are a case where MC++ has a *huge* advance!

I hope I could give you some points to compare. After all, in .NET the
programming language is more of a choice of taste. As long as you are
writing „normal“ applications, webservices and aspx-sites, there is
practically no difference. If you want to get the last bit of performance,
you should have a more detailed look at the language you use.

Now one will keep you from implementing parts of your software in different
languages. I for example am currently implementing a radiosity processor in
C# (almost everything) and MC++ (Direct3D-access, sort routines that use a
stl stack).