C# - Woher?
#31
geschrieben 11. Januar 2006 - 16:06
kapitel 1-3 hab ich gelesen, is ja mächtig viel. dann in kapitel 4 gehts los, und ich weis garnichts.
Wenn ich nun visual c# express öffne und etwas neues anfangen will, fragt er mich was ich machen will.
da wären windowsapplication , console application usw.
Ich als blutiger anfänger hab natürlich keinen plan, was ich machen soll!
kann mir jemand ein tutorial zeigen, das überhaupt nichts vorraussetzt?
Anzeige
#32
geschrieben 11. Januar 2006 - 16:09
Zitat
class x {
void blah() {}
}
class y {
void blah(){ System.Console.println("blah"); }
}
class a : x,y {
public static void main(String[] args) {
blah();
}
}
Da zuerst von x vererbt wurde, wird die blah-Funktion von x aufgerufen. Hätte ich zuerst von y vererbt, dann würde die blah-Funktion von y aufgerufen. Generell wird der Klassenableitungsbaum von unten nach oben, links nach rechts traversiert, bis eine passende Methode gefunden wird. Sorgt für so manche häßliche Überrauschung.
Und natürlich versaut es die Typisierung, da eine Klasse mehrere nicht geordnete Oberklassen haben kann.
Zitat
OK, dann war's halt eine andere der Spezialized Collections mit Strings. Die sind generell alle auf benannte Weise typfremd. Und Typassoziationen kennen die auch nicht, d.h. eine List<Y extends X> ist keine Oberklasse von List<X>.
Dieser Beitrag wurde von Rika bearbeitet: 11. Januar 2006 - 16:12

Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#33 _MagicAndre1981_
geschrieben 11. Januar 2006 - 16:38
sowas wie du das da geschrieben hast geht in C# nicht ;-) Eine Klasse kann in C# nicht mehrere Basisklassen haben.
Was mienst du mit dem zweiten?
Generics gibts erst ab .net 2.0. In .NET 1.x gabs immer eine boxing und unboxing bei collections.
#34
geschrieben 11. Januar 2006 - 20:48
Zitat
Laut Spezifikation schon, und die LINQ Preview implementiert er auch. dotGnu kann's ebenfalls.
Naja, war wohl etwas zu sehr auf C++ fixiert.
Zitat
Darauf bezog es sich ja auch. OK, hab gerade mal gefrickelt:
using System.Collections.Generic; using System.Collections.Spezialized; Dictionary<String,String> dictionary = new StringDictionary(); //ERROR Dictionary<String,String> dictionary = new StringDictionary<String,String>(); //ERROR Dictionary dictionary = new StringDictionary(); //ERROR System.Collections.Dictionary dictionary = new StringDictionary(); // das geht
Und System.Collections.Generic.Spezialized gibt's auch nicht. Totaler Murks, durch das ständige Casten ist der ganze Performance-Vorteil wieder dahin.
Dieser Beitrag wurde von Rika bearbeitet: 11. Januar 2006 - 20:50

Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#35 _MagicAndre1981_
geschrieben 11. Januar 2006 - 22:08
Zitat (Rika: 11.01.2006, 20:48)
Hääh? Habs nochmal mit dem VS2005 probiert (du hast mich total verwirrt) und da gehts nicht!
Zitat (Rika: 11.01.2006, 20:48)
Bei C++ ist das ja auch so.
Zitat (Rika: 11.01.2006, 20:48)
#36
geschrieben 11. Januar 2006 - 23:16
Zitat
Jein. So etwas wird teilweise intern verwendet, z.B. bei der WeakHashMap<K,V>, welche intern ein keySet der Form Set<WeakReference<K>,V> verwendet.
Zitat
Das wäre vermutlich der korrekte Namespace für spezialisierte Collections, die Generics unterstützen.
Sprich: Spezialisierte Collections, deren Performance-Vorteile man auch wirklich nutzen kann.

Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#37
geschrieben 12. Januar 2006 - 17:01
Hab jezt schon alles was ich brauche und auch schon einen mini-programm geschrieben.
Wie compiliere ich nun diese datei?
Da steht irgendwas von: ich soll in einem DOS-fenster in das verzeichnis wechseln wo die datei gespeichert ist, und dann csc ErstesProgramm.cs eingeben.
ist das richtig so?
ich kann gar nicht in "C:\Dokumente und Einstellungen\Andi\Eigene Dateien\Visual Studio 2005" wechseln.
Was mache ich falsch?
#38
geschrieben 12. Januar 2006 - 17:31
#39
geschrieben 12. Januar 2006 - 17:45
danke!! Ich hab auch schon mit jemanden gesprochen, und der sagte ich solle mir das .net framework SDK 2.0 herunterladen. Dies hab ich auch gemacht.
Wöfür brauche ich das nun?
EDIT: Ich habs gerade versucht, das mit F5, aber da tut sich nix. Und wenn sich vielleicht doch was getan hat, wo ist dann die fertige datei hin?
Nochmal EDIT:
ist dies überhaupt richtig?
public class ErstesProgramm
{
public static void Main()
{
System.Console.WriteLine("Mein erstes C#-Programm!");
}
}
Dieser Beitrag wurde von schwabi bearbeitet: 12. Januar 2006 - 17:59
#40
geschrieben 12. Januar 2006 - 18:26
Alternativ über das Menü Debuggen -> ...
Die Dateien liegen im Unterordner bin und dort entweder unter Debug oder Release.
IM SDK sind ein paar nette Beispiele und Tutorials, aus denen du bestimmt was lernen kannst. Ansonsten halt die Dokumentation, die aber automatisch in Visual Studio "enthalten" ist (F1).
#41
geschrieben 12. Januar 2006 - 18:28
Da sehe ich gerade, dass unter debuggen, debuggen starten grau da steht, und nicht anklickbar ist!
Kann es sein, dass ich irgendwo nen blödsinn geschrieben habe?
Meine letzte frage(hoffentlich):
Wenn ich visual C# starte und ein neues prjekt machen will, dann kann ich zwischen windows application, class library, empty project usw. wählen. Was ist nun das richtige?
Das mit dem debuggen hat sich erledigt, aber er sagt fehler.
so sehen die fehler aus:
Error 1 'WindowsApplication1.Form1.Dispose(bool)': no suitable method found to override C:\Dokumente und Einstellungen\Andi\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\WindowsApplication1\Form1.Designer.cs 14 33 WindowsApplication1
Error 2 Program 'C:\Dokumente und Einstellungen\Andi\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\WindowsApplication1\obj\Debug\WindowsApplication1.exe' has more than one entry point defined: 'ErstesProgramm.Main()' C:\Dokumente und Einstellungen\Andi\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\WindowsApplication1\Form1.cs 3 24 WindowsApplication1
Error 3 Program 'C:\Dokumente und Einstellungen\Andi\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\WindowsApplication1\obj\Debug\WindowsApplication1.exe' has more than one entry point defined: 'WindowsApplication1.Program.Main()' C:\Dokumente und Einstellungen\Andi\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\WindowsApplication1\Program.cs 13 21 WindowsApplication1
Dieser Beitrag wurde von schwabi bearbeitet: 12. Januar 2006 - 18:38
#42
geschrieben 12. Januar 2006 - 18:43
Class Library ist eine DLL
Empty Project ist, tja wie der Name schon sagt, ein leeres Projekt.
An den Fehlermeldungen kannst du erkennen, dass du versucht hast eine Windows Application zu erstellen.
An deiner Stelle würde ich davon erstmal die Finger lassen. Erst wenn du verstanden hast, wie man Konsolenprogramme schreibt...
Nehm am besten zuerst ein leeres Projekt und erstelle dir dort eine neue Klasse und füge den Code von oben ein...
#43
geschrieben 12. Januar 2006 - 18:45
Ach übrigens -----> danke für deine geduld!
#44
geschrieben 12. Januar 2006 - 18:46
#45
geschrieben 12. Januar 2006 - 18:53
Hab also eine empty project geöffnet. so, erstmal war da kein fenster zum schreiben, also hab ich mal so ein item hinzugefügt, namens code file.
War das vielleicht richtig so? dann hab ich das eingefügt, und debugged. ganz kurz ist dos erschienen und fertig.
Wo ist nun die datei zum öffnen?

Hilfe
Neues Thema
Antworten
Nach oben


