Ankündigung

Einklappen
Keine Ankündigung bisher.

C# lernen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast-Avatar
    Ein Gast erstellte das Thema C# lernen.

    C# lernen

    Hallo PHP-Coder!

    Mich wurmt`s schon seit langem: Ich will endlich mal Programme schreiben können, die man auf dem eigenen PC installieren kann. Kleine nützliche Tools und so Zeug das niemand braucht.

    C# (gesprochen: "C Sharp") ist die ideale Sprache dafür, hab ich mir mehrfach sagen lassen. Angeblich soll das gar nicht so schwer sein.

    Hiermit möchte ich offiziell alle C#-Interessierten dazu einladen, die Sprache im Team gemeinsam zu lernen. Denke so geht es am schnellsten!

    In diesem Thread möchte ich darüber diskutieren, wie man am einfachsten und schnellsten C# lernen kann, was man überhaupt dafür benötigt um in C# tolle Programme zu schreiben, was einem die PHP-Kenntnisse dabei bringen, usw.

    Ich mache mal den Anfang und poste hier eine Definition von C# (Quelle: Wikipedia)

    ---------------------------------------------------------
    C# (Aussprache: ßiescharp [ˌsiːˈʃɑɹp]) ist eine objektorientierte Programmiersprache, die vom Softwarehersteller Microsoft im Rahmen seiner .NET-Initiative eingeführt wurde. Den C#-Standard gibt`s erst seit Oktober 2000. Also noch eine sehr junge Sprache.

    C#-Konzept
    Neben Konzepten der Programmiersprachen Java und Delphi greift C# auch Konzepte aus C++ sowie der Microsoft-eigenen Sprache Visual Basic auf. Beide Programmiersprachen sind ebenfalls, neben weiteren, als eigenständige Portierungen im .NET-Framework verfügbar und nutzbar.

    Ebenso wie andere .NET-Sprachen verfügt C# über Attribute und Delegaten. Attribute erlauben es, Informationen über eine Klasse, ein Objekt, oder eine Methode zu speichern, die von anderen Programmen zur Laufzeit ausgewertet werden können. Man spricht hierbei auch von Metadaten. Ein Delegat kann auf Methoden einer Klasse verweisen. Das Konzept lässt sich mit Funktionszeigern vergleichen. Im Unterschied zu Funktionszeigern enthalten Delegaten zusätzlich auch Verweise auf die zu den Methoden gehörenden Objekte. Ein Aufruf eines Delegaten ruft also Methoden auf, denen implizit ein Objektzeiger als Parameter mitübergeben wird.

    Einige der Elemente von C++, die im Allgemeinen als unsicher gelten, wie beispielsweise Zeigerarithmetik, wurden in C# nur für so genannten "unsafe code" (unmanaged code) erlaubt. Dieser benötigt eine veränderte Sicherheitseinstellung, um auf einem Zielsystem ausgeführt zu werden, und einen zusätzlichen Compiler-Schalter, um ihn zu übersetzen. Somit wird vermieden, dass sich versehentlich unsicherer Code in eine Anwendung einschleicht.

    http://de.wikipedia.org/wiki/C-Sharp

    IDE`s / integrierte Entwicklungsumgebungen

    Neben der wahrscheinlich sehr teuren Entwicklungsumgebung von Microsoft (Visual Studio .NET), gibt es auch die OpenSource Entwicklungsumgebung Namens SharpDevelop.

    http://www.icsharpcode.net/OpenSource/SD/Default.aspx
    ---------------------------------------------------------

    Mein Ziel ist es, C# so gut zu beherrschen, das ich eigene PC-basierte Back-Office (Admin) Tools schreiben kann, um z.B. Content auf Websites zu verwalten. Also PC-Programme mit Internet-Schnittstelle. Kommunikation per XML / Soap u.ä. (genau: dafür sind dann wieder unsere PHP-Kenntnisse gut!)

    Wer auch C# lernen will und noch keinen blassen Schimmer davon hat, bitte hier melden. Aber auch die Profis, die das Hallo-Welt-Programm schon erfolgreich hinter sich gebracht haben.

  • Gast-Avatar
    Ein Gast antwortete
    sicherlich interessant, aber für den Anfang würde ich noch nicht so heiss kochen. Wenn man sich als Anfänger gleich so überfordert hat man schnell keinen Bock mehr.

    Das bezieht sich nicht nur aufs Programmieren. Im Modellbau auch nicht viel anders... habe mir früher immer gleich die ultra-experten-modelle von Revell geholt mit höchstem Schwierigkeitsgrad. Die Folge: 10 Modelle gebastelt und alle nur 10% fertig

    Dann hab ich mir erstmal ein ganz kleines geholt und langsam gesteigert. Ist aber jedem selbst überlassen...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    PHP-Code:
    using System;

    public class 
    ErstesProgramm
    {
      public static 
    void Main()
      {
         
    Console.Write("-= fischmix`s MiniQuizz =-\n\nRate mal, was das hier ist:\n\n\txxxx\n\tx  x\n\tx  x\n\txxxx\n\nDas ist ein...: ");
         
    string Antwort;
         
    Antwort Console.ReadLine();
         
    Console.WriteLine("\n\n\aSchmarrn! Das ist doch kein " Antwort "! Wie kommst du darauf?");
      }



    einfach mal kompilieren und in der MsDOS Konsole testen!
    ist ein guter Einstieg um schnell ohne schwere IDE ein eigenes C# Programm zu schreiben. Ich bastel jetzt erstmal ein Quizz das in der Konsole läuft und ein par dämliche Fragen stellt. Bei richtiger Antwort sollen Punkte vergeben werden, und ganz zum Schluss wird angezeigt, wieviel % man richtig gemacht hat.

    Und so kompiliert ihr das:

    hol dir den kostenlosen .NET Framework SDK und den .NET Framework Redistributable Package version 1.1 bei http://www.dotnetgerman.com/links/dl_dotnetsdk.asp

    Nach dem alles installiert wurde, unter WinXP:

    Start -> Alle Programme -> Zubehör
    dort mit Rechtsklick auf "Eingabeaufforderung" und die Verknüpfung kopieren
    auf dem Desktop die Verknüpfung einfügen
    Rechtsklick auf die Verknüpfung und "Eigenschaften" wählen
    jetzt an den Link das hier dran hängen:

    /k C:\Programme\Microsoft.NET\SDK\v1.1\Bin\sdkvars.ba t

    eventuell den Pfad anpassen. Je nach dem wo bei dir die sdkvars.bat abgelegt wurde.

    jetzt auf die Verknüpfung doppelklicken. Die Konsole startet und der Compiler kann über den Befehl csc benutzt werden.

    den obigen Codeschnippsel im Notepad einfügen und das ganze als quizz.cs abspeichern (Achtung: .txt darf nicht hinten folgen! Also auf "alle Dateien" einstellen, sonst wird .txt automatisch dran gehängt)

    in der Konsole folgendes ausführen: csc C:\Dokumente und Einstellungen\DeinUserName\Desktop\quizz.cs

    oder falls das nicht geht, erst in das entsprechende Verzeichnis wechseln

    ENTER! Das Programm wird nun kompiliert. Im gleichen Ordner entstand nun eine quizz.exe

    quizz und ENTER

    have fun

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ich habe da gerade so ein Vorschlag für euch.

    Vieleicht ergeht es euch ja genauso, wie es mir früher ergangen ist.

    Man lernt ja bekanntlich nur an Projekten, anstatt irgend wie herum zu Scripten.

    Falls Ihr nicht genau wisst was Ihr machen sollt, hätte ich da einen Vorschlag euch.

    Schreibt mal nen kleines, aber feines Domain überpüfungs Tool mit einer grafischen Oberfläche.
    Was halt den Status einer oder mehrere 1000 Domain(s) testet.

    Transit, besetzt, gerade frei geworden.
    Wie Ihr es erweitert, bleibt natürlich jedem selbst überlassen.
    Mit Datenbank anbindung etc. pp.

    Der wichtigste Teile wäre hierfür:
    PHP-Code:
    using System;
    using System.Text;
    using System.IO;
    using System.Net;
    using System.Net.Sockets;
    .
    .


    try
    {
       
    TcpClient client = new TcpClient(serverport);
       
    Byte[] data System.Text.Encoding.ASCII.GetBytes(message);          
       
    NetworkStream stream client.GetStream();
       
    stream.Write(data0data.Length);
       
    data = new Byte[256];
       
    Int32 bytes stream.Read(data0data.Length);
       
    responseData System.Text.Encoding.ASCII.GetString(data0bytes);
       
    client.Close();   
    .
    .
    .
    return 
    responseData
    Ist natürlich nur nen Vorschlag

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Mir gefällt die Sprache auch.

    Einen Kommentar schreiben:


  • imported_Ben
    antwortet
    Danke.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Anmerkung: Entscheidet man sich für eine konkrete Sprache, muss man eine IDE haben, die einen dazu passenden Compiler hat. Ich habe mir SharpDevelop ausgesucht, da es auf C# zugeschnitten ist. Es enthält soweit ich weis aber auch einen Compiler für VB. Für Java wird`s sowas eventuell auch geben.

    Und soweit ich weis wurde C# speziell für .net entwickelt, soll viel einfacher zu erlernen sein als C oder C++ und fast (oder genau) das selbe drauf haben. Das klingt schon mal ziemlich gut

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Nicht bald sondern schon seit einiger Zeit:
    http://www.mono-project.com/Main_Page

    so mach jetzt erstmal feierabend.. euch noch viel spass dabei

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Prinzipiell ist C# ähnlich wie Java. Nur da C# von Microsoft ist, ist es natürlich nicht so einfach platformunabhängig. Es soll zwar schon/bald (?) eine Möglichkeit geben, dass .NET-Sachen auch auf Linux laufen. Finde das allerdings Quatsch.

    Mit C# und ASP kannste dann eben ähnliche Sachen (Webapplikationen) machen wie mit Java und JSP.
    Ich habe vor kurzem ein Windows-Programm geschrieben, dass Anfragen an einen Server sendet und die Antworten protokolliert.
    Du kannst also sehr sehr bequem Windows-Formular-Anwendungen programmieren.
    Ganz grob also:
    Code:
    Form f = new Form();
    Button b = new Button();
    b.Text = "ich mache nichts";
    f.Controls.Add(b);
    Objektorientiert eben. Die Zeigerverwaltung wie in C/C++ fällt auch endlich weg.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ich lese gerade den Guide to C# (keine Angst, der ist auf Deutsch):
    http://www.guidetocsharp.de/home/ind...intro/net.html

    Werde mal versuchen die Sache kurz und schlüssig zu beschreiben. Nach dem was ich so gelesen habe.

    .net wurde von Microsoft entwickelt, um auf Informationen und Dienstleistungen jederzeit, an jedem Ort und über jedes beliebige Endgerät zugreifen zu können.

    .net besteht aus zahlreichen Komponenten:
    - Serverapplikationen (.net Enterprise Server)
    - Programmierumgebungen (.net Framework)
    - .net-Fähige Endgeräte (.net Clients)

    Für C# Programmierer ist das .net Framework von Interesse. Auch das ist wieder in mehrere Einzelkomponenten unterteilt, nämlich:

    - Common language runtime (CLR)
    - Common language subset (CLS)

    und dann gibt es noch das Microsoft intermediate language (MSIL)

    Die CLR bildet den Kern des .net Frameworks. Bei der CLR handelt es sich um eine Laufzeitumgebung, um Applikationen kontrolliert ablaufen zu lassen. Sie stellt auch sicher, das nur solcher Code ausgeführt werden kann, der auch ausgeführt werden darf. Die CLR verwaltet auch automatisch den Speicher und die Resourcen. So schleichen sich weniger Programmfehler ein, und der Entwicklungsaufwand sinkt.

    Das CLS definiert eine Menge von Befehlen, die jede Programmiersprache, die Code für .net erzeugen kann, unterstützen muss. Befehle, die nicht im CLS definiert sind, dürfen nicht verwendet werden. Damit ist gewährleistet, das es völlig schnuppe ist, welche Sprache man bei der Entwicklung einer .net Applikation anwendet. C++, VisualBasic, Java oder C#. Man nimmt das, womit man besser klar kommt.

    Die Sprachen sind durch das CLS uneingeschränkt zueinander Kompatibel. So ist es im .net Framework beispielsweise problemlos möglich, eine Klasse in C++ zu entwickeln, sie in Visual Basic abzuleiten und in C# zu verwenden.

    .net Programme sind Plattformunabhängig. Das geniale dabei ist das MSIL (Microsoft intermediate language). Die Compiler erzeugen nämlich keinen direkt ausführbaren Maschinencode, sondern übersetzen die Programme erst in eine plattformunabhängige Zwischensprache namens Microsoft intermediate language (MSIL). Diese MSIL-Programme werden erst zur Laufzeit mittels eines JIT-Compiler (Just in time) von der CLR in Maschinencode umgewandelt. Dadurch ist ein für das .net Framework entwickeltes Programm plattformunabhängig und ist auf jeder Plattform lauffähig, für die die CLR existiert.

    Mit XML, SOAP und UDDI kann man dann hübsche Programme schreiben, die mit den PHP-Skripten auf dem Server kommunizieren. Sei es also ein Tool um die DB Back-zu-uppen oder per Desktop-Anwendung ein Gästebuch zu administrieren.

    Man erweitert seine Möglichkeiten eben um ein vielfaches. Soweit die Theorie :wink:

    Einen Kommentar schreiben:


  • imported_Ben
    antwortet
    Zitat von Zergling
    Zitat von Ben
    Darf ich mal fragen, welche Anwendungsgebiete C# so mit sich bringt?
    Komische Frage. C# kann im Prinzip alles
    Warum ist das eine komische Frage?
    Ich weiß es nicht und somit habe ich eine ganz normale Frage gestellt.

    Was heißt denn "alles": Ist es mit C# möglich, wie auch in Java Desktop, wie Web-Applikationen zu schreiben?
    Also versteht mich jetzt mal nicht falsch. Ich habe mich noch nie mit dem .NET-Framework und allem, was da sonst noch so rumschwirrt befasst.

    Ich kann mit PHP und Java programmieren .. teilweise wenigstens .. demnach ist meine Frage hier schon ganz ernst gemeint.

    Danke für die Antworten. Ein "Alles" ist mir aber ehrlich gesagt nicht ausreichend.

    Grüße Ben.

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Zitat von Ben
    Darf ich mal fragen, welche Anwendungsgebiete C# so mit sich bringt?
    Komische Frage. C# kann im Prinzip alles, ist halt soweit ich weiß noch Microsoft gebunden.

    Einen Kommentar schreiben:


  • imported_Ben
    antwortet
    Zitat von fischmix
    Habe es aber gestern Abend schon geschafft ein "Programm das nichts kann" zu schreiben. Es heisst im Titel: "Ein Programm, das nichts kann". Und das Fenster ist leer.


    Hehe. Darf ich mal fragen, welche Anwendungsgebiete C# so mit sich bringt?
    Ich habe da keinerlei Kenntnisse drüber, weder über C# im konkreten noch über das .NET-Framework im allgemeinen Fall. Wäre nett, wenn du oder allgemein ihr das mal kurz dalegen könntet.

    Grüße Ben.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Entschuldigung wenn ich Euch bei Eurer Zocker-Kiddie-Debatte unterbrache, ich tu es wirklich nur ungern

    Aber:

    Galileo OpenBook C# http://www.galileocomputing.de/openbook/csharp
    MSDN Library http://msdn.microsoft.com/library/deu/default.asp

    ich suche noch Tutorials die sich speziell auf die Arbeit mit der SharpDevelop IDE beziehen. Die Bedienung des Tools ist gar nicht mal so easy. Habe es aber gestern Abend schon geschafft ein "Programm das nichts kann" zu schreiben. Es heisst im Titel: "Ein Programm, das nichts kann". Und das Fenster ist leer.

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Ich zock selber HL TFC und StarCraft, also fühl dich nicht angegriffen
    Ich meine nur es gibt in den Gamer-Communities nen Haufen Spackos die meinen sie müssten jetzt unbedingt ne Homepage haben/machen.

    Einen Kommentar schreiben:

Lädt...
X