Änfängerprobleme mit mono

Nemesis

Nemesis

N3RD
Anfängerprobleme mit mono

Hi,
ich habe beschlossen C# zu lernen. Empfohlen wurde mir mono als ide.
Installiert habe ich es mit einiger mühe da es ja nur unter unstable gibt.

Nun aber noch ein Problem, wenn ich ein kleines Programm wir z.b.:
Code:
using System;

namespace Hallo
{
   class class1
   {
      [STAThread]
      static void Main(string[] args)
      {
         string aName;
         aName = Console.ReadLine();
         Console.WriteLine("Hallo {0}", aName );
         Console.ReadLine();
      }
   }
}

dann sollte er ja normal warten bis ich "etwas" eingegeben habe um dann "Hallo etwas" auszugeben, aber das tut er nicht.

gibt es eigentlich noch mehr IDE für c# die ihr empfehlen könnt?
was ist mit kdevelop, emacs oder xemacs?

thx
 
Zuletzt bearbeitet:
Nemesis333 schrieb:
Hi,
ich habe beschlossen C# zu lernen. Empfohlen wurde mir mono als ide.
Installiert habe ich es mit einiger mühe da es ja nur unter unstable gibt.

Mono ist keine IDE, sondern eine Plattform die dir neben C#, Kompiler und der CLI noch eine Menge andere nützliche libs zur Verfügung stellt.
Ich nehme mal an du meinst monodevelop, oder?

Nun aber noch ein Problem, wenn ich ein kleines Programm wir z.b.:
Code:
using System;

namespace Hallo
{
   class class1
   {
      [STAThread]
      static void Main(string[] args)
      {
         string aName;
         aName = Console.ReadLine();
         Console.WriteLine("Hallo {0}", aName );
         Console.ReadLine();
      }
   }
}

dann sollte er ja normal warten bis ich "etwas" eingegeben habe um dann "Hallo etwas" auszugeben, aber das tut er nicht.

sollte er und macht er bei mir auch...
Du kannst dir [STAThread] übrigens sparen, dass ist eigentlich ziemlich MS spezifisch und hat etwas mit COM zu tun.

gibt es eigentlich noch mehr IDE für c# die ihr empfehlen könnt?
was ist mit kdevelop, emacs oder xemacs?

Emacs wäre eine sehr gute Wahl, dass ist die beste IDE unabhängig von der Programmiersprache ;)
 
Zuletzt bearbeitet:
ups, joa, monodevelop, meinte ich ;-)
hm, wie teste ich es in monodevelop am besten? ich bin auf "run" gegangen, dann bringt er mir aber im "application output" nur "Hallo", er sollte aber doch eine eingabe abwarten und nach dieser dann "Hallo {Eingabe}" ausgeben.

Kann man mir Emacs auch das programm ablaufen lassen, und hebt emacs auch codestellen farbig hervor?

EDIT: Sorry, beim schreiben der Antwort bin ich ausversehen auf "edit" anstatt auf "zitieren" gekommen.
 
Zuletzt bearbeitet von einem Moderator:
Kann man mir Emacs auch das programm ablaufen lassen, und hebt emacs auch codestellen farbig hervor?

mit dem richtigen cs-mode macht emacs auch syntax-highlighting ;)
Kompilieren und ausführen sollte mit der richtigen Konfiguration auch aus dem emacs heraus gehen, wobei ich beim programmieren eigentlich immer neben dem emacs noch ein paar Terminals offen habe und darin alles mache.

Das würde ich dir auch mal bei deinem Programm empfehlen. Einfach mal in einem Terminal kompilieren und ausführen.

Zum emacs:
Ich habe dir mal meine cs-mode.el angehängt. Um den mode zu laden mußt du noch das in deine ~/.emacs eintragen:

Code:
;; C# Mode
(add-to-list 'load-path "~/.emacsrc") ;; Verzeichnis indem du die cs-mode.el speicherst.
(autoload 'csharp-mode "csharp-mode" 
  "Major mode for editing C# code." t)
(setq auto-mode-alist (cons '( "\\.cs\\'" . csharp-mode ) auto-mode-alist ))
 
hm, was muss ich damit machen, und für was is es gut?
sry aber ich versteh da nur banhof ;-)
ich weiß nichma wie ich das programm das ich geschrieben habe in eine datei bringe die ich nacher ausführen kann ^^
 
Nemesis333 schrieb:
hm, was muss ich damit machen, und für was is es gut?
sry aber ich versteh da nur banhof ;-)

das mit dem emacs-cs-mode dauert noch etwas. Ich habe gerade Probleme eine Datei anzuhängen... :(

ich weiß nichma wie ich das programm das ich geschrieben habe in eine datei bringe die ich nacher ausführen kann ^^

Das hört sich nicht gut an... Ein Grund warum ich nicht gut auf große IDEs zu sprechen bin. Da lernt man, dass man alles irgendwie zusammenklicken kann und mit dem Klick auf Button X läuft das Programm. Unterschiede wie Quelltext, GUI, Kompiler und Linker werden da total vergessen. Das ist kein Problem wenn man weiß was man macht, verursacht aber gerade bei Einsteigern immer wieder Verständnisprobleme. Aber das ist ein Thema für sich... ;)

Zu deinem Programm:
Du tippst das Programm einfach mal in einen normalen Texteditor oder kopierst es vom Forum oder von monodevelop.
Dann speicherst du es als hallo.cs.
Jetzt wechselst du in die Konsole und kompilierst es:
mcs hallo.cs
Jetzt solltest du eine hallo.exe haben die du mit ./hallo.exe ausführen kannst.
 
ahh, es werde licht :-)

das werd ich gleich ausprobieren ;-)

thx
 
cool, das funktioniert :-))
dann brauch ich ja garkein ide, dann kann man das ja mit dem editor schreiben :-)
 
Nemesis333 schrieb:
dann brauch ich ja garkein ide, dann kann man das ja mit dem editor schreiben :-)

ja, ist aber eigentlich bei jeder Programmiersprache so ;)

Wenn dich emacs noch interessiert, hier ist jetzt der cs-mode (Datei mußt du natürlich entpacken), wie man ihn einbindet habe ich ja schon oben beschrieben.
 

Anhänge

  • csharp-mode.el.gz
    6,7 KB · Aufrufe: 6
hm, du hast geschrieben, dass ich den code in meine .emacs eintragen soll. aber da gibts in meinem home ordner nur ein verz. das sich .emacs.d nennt, und darin ist eines das sich auto-save-list nennt. muss ich einfach in ersteres die datei kopieren?

p.s.: ich hab emacs und xemacs drauf
 
Du entpackst die datei einfach in ein Verzeichnis deiner Wahl, ist im Prinzip egal wo hin, ich habe mir dafür das Verzeichnis .emacsrc angelegt.

Danach ergänzt du deine ~/.emacs (wenn es die noch nicht gibt, dann erstellst du sie einfach):

Code:
;; C# Mode
(add-to-list 'load-path "~/.emacsrc") ;; Verzeichnis indem du die cs-mode.el speicherst.
(autoload 'csharp-mode "csharp-mode" 
  "Major mode for editing C# code." t)
(setq auto-mode-alist (cons '( "\\.cs\\'" . csharp-mode ) auto-mode-alist ))

Beachte, dass du in der zweiten Zeile evtl. den Pfad anpassen mußt, wenn du die Datei nicht nach ~/.emacsrc entpackst.
Jetzt wird automatisch der c#-mode geladen wenn du eine .cs Datei öffnest.
 

Ähnliche Themen

"non blocking console input" wieder rückgängig machen?

Input == String => false

Java 1.3 ORO Regex Problem

dovecot und postfix Konfiguration Problem

Startproblem

Zurück
Oben