C# advantages and disadvantages over C++
<p>I use C++ for more than 10 years(high school, university, and now at work). I had some time between projects and started to learn C#. I wanted to make simple things(in my opinion). </p>

<ul>
<li>to get a form window handle</li>
<li>to call a function written in C++ and compiled as dll</li>
<li>to populate a PropertyGrid at run time</li>
<li>to use a form in another form(parent-child windows)</li>
<li>to convert a byte array to a string</li>
<li>to change build path</li>
</ul>

<p>and much more things that I think are usual things when somebody creates an application.</p>

<p>With the help of stackoverflow members I managed to do almost all the things I wanted, but everything seems to be more complicated than in C++.</p>

<p>There are many syntax/IDE flaws:</p>

<ul>
<li>It does not convert any int value to bool(check for null for example is weird)</li>
<li>Use of "out" when calling a function, the function was already defined using "out" keyword</li>
<li>The sources must be in same folder(or sub-folder) as the project</li>
<li>obj folder in same folder as the project</li>
<li>When I double click on a source file the IDE opens Design instead of code</li>
</ul>

<p>I don't want to put this language in a corner and forget about it. I want to know the good things about it. My first contact with C# let me the impression that I don't have freedom, that everything I must do requires more code that same thing in C++.</p>

<p>Can you help we with good/bad things of C# in comparison with C++?
Something simple like:</p>

<blockquote>
  <p>C++ - converts int values to bool
  values -> check for NULL is simple</p>
  
  <p>C# - does not converts int values to
  bool -> check for null requires more
  code</p>
</blockquote>

<p>Thank you!</p>
