# Einstieg in Visual C# 2010, falsch?



## KingEldarion (20. Jul 2012)

Hi,

ich habe mir halt dieses Buch gekauft und hab mal reingeschaut, jetzt habe ich noch einmal online nach einem tut geschaut.

Und mir ist direkt aufgefallen, dass bei einem von beiden etwas nicht stimmen kann:

Bei "Einstieg in Visual C# 2010" ist eine CD mit dem Programm "Microsoft Visual 2010 Express" dabei, installiere ich dieses Programm und öffne ich ein neues Konsolenanwendungs-projekt, dann erhalte ich als Start folgenden Code:


```
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}
```

Bei diesem Tutorial erhalte ich jedoch folgenden Code, bei Console Application:


```
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
 {
   system("Pause");
   return 0;
 }
```

Was davon ist den jetzt richtig?!? Bzw. warum gibt's diese zwei Unterschiedlichen Sachen?


----------



## Fab1 (20. Jul 2012)

Ich würde sagen, dass das untere Beispiel C ist und nur das obere C#. Aber kannst ja mal selbst schauen, ob du hier eine "Erklärung" findest. 

Liste von Hallo-Welt-Programmen/Programmiersprachen ? Wikipedia


----------



## KingEldarion (20. Jul 2012)

Achso es gibt einen Unterschied zwischen C# und C? Ich dachte das wäre das gleiche...

Sry

Wo genau liegt den der Unterschied und was ist besser wenn man leistungsstarke Spiele programmieren möchte?


----------



## Fab1 (20. Jul 2012)

C# ist eine OOP. Und C ist das nicht. Ist so der Hauptunterschied, ansonsten einfach mal in Wiki schauen.

Wenn du anspruchsvolle Spiele programmieren möchtest, dann solltest du dich mit C++ befassen.


----------



## KingEldarion (20. Jul 2012)

Ich merke grad das es in C# diese Forms gibt, aber in meinem Buch steht nur, wie man sie mit Microsoft Visual C# 2010 Express macht, also mit diesem Designer, nicht aber wie bei Java per Code selber...

Geht das auch oder muss man das so machen?


----------



## Fab1 (20. Jul 2012)

Grundsätzlich kann ich kein C#, aber ich kann mir nicht vorstellen, dass es nicht gehen soll. Durch das erstellen der Forms wird ja im Hintergrund ein Code angelegt, diesen kannst du dir ja mal anschauen. Ich hoffe ich liege mit meiner Annahme nicht falsch, ansonsten kann es ja jemand berichtigen.


----------



## KingEldarion (20. Jul 2012)

Ja es wird ein Form angelegt... Aber ich sehe nichts von irgendwelchen Deklarationen oder Initialisierungen oder dergleichen, auch nicht wenn Buttons hinzugefügt werden, dann wird nur die Methode für den Clickevent angezeigt...


----------



## AmunRa (21. Jul 2012)

Ich hab schon lange nichts mehr mit C# gemacht, aber ich glaub wenn du in deinem Projekt auf das File deiner Form klickst mit der rechten Maustaste, dann kannst du dort auswählen ob du den Quellcode angezeigt bekommen sollst.

Musst einfach mal suchen.

LG


----------



## Marcinek (21. Jul 2012)

Natürlich geht das 

Der Designer erstellt zwei Dateien, die als partial classes erweitert werden. Die eine Datei ist generiert und darf nicht geändert werden die andere Klasse kannst du selber implmentieren.

Zu der Klasse, die du selber erweitern kanst, kommst du indem du auf das Form klicks und dann "Show Code" auswählst.

Natürlich musst du nicht den Desiger benutzen.

Du kannst eine Klasse erstellen und dann die Forms selber erstellen. Die entsprechenden Klassen dafür gibt es im MSDN.


----------



## KingEldarion (21. Jul 2012)

OK, aber eigentlich wollte ich dann doch lieber C++ lernen, kennt vllt.jemand ein gutes Tutorial im Internet, sollte aus Text bestehen also kein Video und sowohl Einstieg und sowas wie Forms enthalten, aber bitte ohne so eine IDE oder irgendwelche Hilfsmittel?

Wäre nett wenn jemand sowas kennt...

MfG KingEldarion

PS: Der Code sieht aber nur so aus:

```
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
}
```

Und diese generierte Datei, möchte ich aber genau auch selber verändern, warum genau kann ich das denn nicht?


----------



## Final_Striker (21. Jul 2012)

KingEldarion hat gesagt.:


> Und diese generierte Datei, möchte ich aber genau auch selber verändern, warum genau kann ich das denn nicht?



Weil der GUI-Builder das nicht mag.
Schreib alles von Hand, dann kannst du alles so verändern wie du willst.



> OK, aber eigentlich wollte ich dann doch lieber C++ lernen, kennt vllt.jemand ein gutes Tutorial im Internet, sollte aus Text bestehen also kein Video und sowohl Einstieg und sowas wie Forms enthalten, aber bitte ohne so eine IDE oder irgendwelche Hilfsmittel?



Kauf dir ein gutes Buch und arbeite es durch. C++ ist nicht so einfach, dass man es mal schnell mit einem Tutorial lernt.


----------



## Marcinek (22. Jul 2012)

Natuerkich kann man die Datei verändern. Deine änderungen werden aber beim nächsten generieren der Datei gelöscht, deswegen gibt es ja den anderen teil der klasse, den du du gepostet hast. Hier gelten die regeln der polymorphie, mit der du das verhalten der partial class ändern kannst.

Aber seien wir mal ehrlich. Wie willst du in eigenregie etwas lernen, wenn du nicht in der Land bist primitive Informationen selber zu recherchieren??? Cpp ist nicht gerade eine Sprache, die man als Anfänger leicht versteht..


----------



## Gast2 (22. Jul 2012)

Moin,



KingEldarion hat gesagt.:


> Und diese generierte Datei, möchte ich aber genau auch selber verändern, warum genau kann ich das denn nicht?


Meine Frage - wozu willst Du die Datei ändern?? Ich programmiere seit 5 jahren beruflich mit C# und musst noch nie diese Datei ändern oder eigenen Code einfügen. Hier trennt Dir der GUI-Builder seinen Kram von Deinem Kram. Das hat auch einen verdammt guten Grund - wenn Du da was falsch machst, bringst Du den GUI-Builder durcheinander.



KingEldarion hat gesagt.:


> OK, aber eigentlich wollte ich dann doch lieber C++ lernen,


Dann pass auf das auch wirklich C++ und nicht C++/CLI wird. Bei letzterem produziert der GUI-Builder richtig Schrott (Methoden werden im Header erzeugt). Außerdem ist C++ mit .NET mit extremer Vorsicht zu geniesen. Da musst Du auf beiden Seiten wissen was Du machst, da hier zwei völlig verschiedene Welten verbunden werden.

hand, mogel


----------



## Tomate_Salat (22. Jul 2012)

KingEldarion hat gesagt.:


> OK, aber eigentlich wollte ich dann doch lieber C++ lernen


C#, C, C++ jetzt fehlt dir eigentl. nur noch object-c.

Das klingt für mich ziemlich orientierungslos was du hier vorhast. Überlege dir, was du machen willst und suche dir dazu eine passende Sprache aus.


----------



## Landei (22. Jul 2012)

Am besten lernt er PHP, da hat er von allem was...

*duck and run*


----------



## Final_Striker (22. Jul 2012)

Ne, wenn dann schon lieber gleich Phyton! :-D




			
				xoox hat gesagt.:
			
		

> Ihr merkt also das ich mit Python sehr viel erreiche man kann sagen Python ist eine Eierlegendevollmilchsau



http://www.java-forum.org/java-basi...an-java-koennen-um-jython-nutzen-koennen.html


----------



## JohannisderKaeufer (22. Jul 2012)

Final_Striker hat gesagt.:


> Ne, wenn dann schon lieber gleich Phyton! :-D



Ähnelt diese Sprache Python?

Lisp, Clojure ist IMHO interessanter, da sich die genannten Sprachen doch in vielen Punkten ähnlich sind und sich zum großen Teil nur leicht in der Syntax unterscheiden.

Sieht man ja daran, dass es dem TO schon Schwierigkeiten bereitet, C, C++ und C# zu unterscheiden.


----------



## Evil-Devil (23. Jul 2012)

Für reines C/C++ würde ich CodeBlocks empfehlen. Sehr schicke IDE die Visual Studio in nur wenig bis nichts nachsteht. Auf jeden Fall produziert sie ohne Proble non CLI C++ =) Geht in Visual Studio zwar auch, aber dafür brauch man afaik eine Professional oder besser Version.


----------

