12. december 2004 - 21:03Der er
18 kommentarer og 2 løsninger
I gang med C# (fra Java)
Hej. Jeg vil til at prøve noget C#, da jeg kan se i jobannoncerne at det er en vinder. Jeg er datamatiker, og kan således kode rimeligt godt i Java. Jeg har hørt at der ikke er så langt fra Java til C#.
Jeg har Visual Studio .NET og vil så prøve noget der.
Skrive en simpel Klasse (f.eks Person) og en testklasse, der opretter en instans af Person med et navn, og så skriver f.eks personens alder.
I Java ville det jo være noget hen ad:
public class Person { private int alder; private string navn; public Person(string navn, int alder) { this.navn = navn; this.alder = alder; } public int getAlder() { return alder; } } -------- public class test{ public static void main(string[] args) { Person p = new Person("Hans", 15); System.out.println(p.getAlder()); } }
public class Person { private int alder; private string navn; public Person(string navn, int alder) { this.navn = navn; this.alder = alder; } public int Alder { get { return alder; } } } -------- public class test{ public static void Main(string[] args) { Person p = new Person("Hans", 15); Console.WriteLine(p.Alder); } }
class MainClass { public static void Main(string[] args) { Customer c1 = new Customer(1, "Kunde 1"); Console.WriteLine(c1.No + " " + c1.Name); Console.WriteLine(c1); CustomerList clist = new CustomerList(); clist.Add(c1); Customer c2 = new Customer(2, "Kunde 2"); clist.Add(c2); Console.WriteLine(clist.Get(2)); Console.WriteLine(clist[2]); } }
class CustomerList { private Hashtable list; public CustomerList() { list = new Hashtable(); } public void Add(Customer c) { list.Add(c.No, c); } public Customer Get(int no) { return (Customer)list[no]; } public Customer this[int no] { get { return (Customer)list[no]; } } }
class Customer { private int no; private string name; public Customer(int no, string name) { this.no = no; this.name = name; } public int No { get { return no; } } public string Name { get { return name; } } public override string ToString() { return (no + " " + name); } }
Jeg skulle lige til at presse citronen med persistens, der jo i Java kan fikses med få linier, men jeg kan se dit link indeholder den info jeg skal bruge for at komme videre... Hvordan kan det være Sun ikke har sagsøgt Microsoft for plagiat? :P
Tak for info, og dit fine lille eksempel på en container klasse også. Smid begge to et svar :)
tja... hvem skulle sagsøge hvem for hvad? Sprog ligner meget hinanden, men de udvikler sig. C# er et skridt fremad, og at syntaksen ligner må enten betyde at det er en solid syntakt, eller også har Microsoft været snedige og sørget for at indlæringskurven for tidligere Java-programmører skulle være så flad som mulig ;)
I min mappe med projektet har jeg nu en exe fil, men når jeg kører den, havde jeg egentlig forventet et konsolvindue, men det kommer ikke. Den har heller ikke fået den smukke ikon, jeg havde tegnet. Er det noget i lige gider kommentere :)
arg... jeg efterlyser stadigvæk en funktion der tjekker på den første linje i ens kommentar... hvis det er svar, så skal kommentaren automatisk blive til svar :P
husk at lave en Console.ReadLine(); til sidst i din Main-funktion. Ellers vil vinduet lukke sig selv ned igen rimelig hurtigt
Ja, det er nok fordi jeg valgte windows app, der var også en form. Men den fjernede jeg bare. I projektet er der Mine to klasser og en AssemblyInfo.cs og App.ico
Anyway. Tak for jeres svar og hjælp. Hvis i gider skrive hvad der går galt med ikonet, er det smukt. Men det er naturligvis ikke det vigtigste i verden på nuværende tidspunkt. Jeg synes bare det var sjovt, da jeg opdagede det :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.