-9
Tags:
.net
c#
Skrevet af
Bruger #1330
@ 30.11.2003
Forord
Hej allesammen,
Denne artikel er anden del af artiklen ”Start på C#” som du også kan finde her på Udvikleren.dk Denne artikel guider dig igennem at lave et simpelt konsol program. Dvs et program der kører i en MS DOS promt.
Editor og Compiler
Til at lave programmet har jeg brugt SharpDevelope, og koden bygger over .NET Frameworket, version 1.1.4322. Hvis du ikke har SharpDevelope kan jeg helt klart anbefale at hente den. Du kan hente den her: www.icsharpcode.com.
Grundregler
C# har ligesom alle andre sprog nogle grundregler. Nogle af de mest ”brugte” regler for C# vil nok være:
Alt er Case Sensitive. Dvs, der er forskel på S og s.
Alle namespases og procedure starter med STORT.
Alle definationer af forskellige typer(string,int osv.)er med småt.
Operators
= Bruges til at definere en værdi til en variabel.
== Bruges hvis man skal finde ud af om en værdi er ligmed en anden
> Bruges til at finde ud af om en var er større end en anden.
< Bruges til at finde ud af om en var er mindre end en anden.
If.. Then .. Else
I C# laver man if statements ligesom man gør i C og C++.
Dvs:
IF (noget == ”noget”)
{
MinProcedure()
} else {
MinAndenProcedure()
}
Igang
Vi starter programmet op, og hvis det er første gang vil den gerne oprette en database over .NET Frameworket. Dette kan helt klart anbefales, da det kan give flere muligheder for dig når du bruger det.
Når den er færdig med dette går du op i menuen ”File” – ”New” – ”Combine” (Projekt). Her vil du nu se en boks hvor du kan vælge nogle forskellige slags projekter. Vælg ”Console Project” og giv projektet et navn. Klik nu ok.
Programmet vil nu lave et projekt, med noget standard kode. Så hvis du compiler dit program nu, vil den skrive ”Hello World”. Som i nok kan se bygger det hele over klasser. Og til konsol programmer, bruger man klassen Console. Da det er den vi primært skal bruge vil jeg lige give en kort beskrivelse af de forskellige funktioner der hører til denne klasse.
- Console.Writeline(String);
Console.Writeline laver en ny linie med den angivne tekst.
- Console.Write(String);
Stort set det samme som WriteLine, dog laver den ikke et liniskift først. Så teksten vil blive skrevet på den aktive linie.
- Console.Read: int;
Henter den første skrevne character, eller returnerer -1 hvis dette ikke er muligt. Resultatet bliver afgivet som en integer.
- Console.ReadLine: string;
Henter hele inputtet fra brugeren og afgiver det som en string.
Hello World!
Nu har editoren desværre allerede lavet selve ”hello world” programmet, men her vil jeg så lige gennemgå det.
using System; //Åbner libariet System.
class MainClass //Laver en klasse til vores program.
{
//Laver den primære procedure.
public static void Main(string[] args)
{
//Udskriver teksten ”Hello World” med Console.WriteLine
Console.WriteLine("Hello World!");
}
}
Jeg er x år..
Et simpelt program der henter et input fra brugeren og skriver det på skærmen.
Vi starter med at henter System ind til compileren, laver en klasse og den procedure vores program skal køre når det startes.
Nu har vi så koden:
Using System;
Class MainClass
{
public static void Main(string[] args)
{
}
}
Vi tilføjer nu en variabel af typen string og kalder den s. Vi vil gemme brugerens alder i, og skriver til brugeren at han skal indtaste sin alder.
Using System;
Class MainClass
{
public static void Main(string[] args)
{
string s; //angiver variablen.
//skriver til brugeren hvad han/hun skal gøre.
Console.WriteLine(”Indtast alder”);
s = Console.ReadLine(); //Henter alder.
}
}
Når vi eksekverer det her program vil det se sådan her ud:
Som i kan se, har vi nu skrevet til brugeren hvad han skal gøre, men vi mangler stadig at skrive brugerens alder tilbage til ham.
Dette gøres sådan her:
Console.WriteLine("Din alder er " + s);
Nu vil koden altså se sådan her ud:
using System; //Åbner libariet System.
class MainClass //Laver en klasse til vores program.
{
//Laver den primære procedure.
public static void Main(string[] args)
{
//Udskriver teksten ”Hello World” med Console.WriteLine
string s;
Console.WriteLine("Indtast alder");
s = Console.ReadLine();
Console.WriteLine("Din alder er " + s);
}
}
Og når man eksekverer programmet vil det se sådan her ud:
færdig?
Tjaa. Det er vi faktisk. Jeg håber i kan bruge den her artikel til noget, og at den har været med til at vise hvor nemt C# sproget er
I er altid velkomne til at stille spørgsmål. Enten via Udvikleren.dk’s geniale mail system, på min email adresse Christensenken@hotmail.com, eller på MSN hvor jeg også bruger Christensenken@hotmail.com.
Med Venlig Hilsen
Ken Christensen
Christensenken@hotmail.com
www.kenman.tk
Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.
Del også gerne artiklen med dine Facebook venner:
Kommentarer (7)
Igen en meget tynd artikel, hvor jeg som nybegynder ikke får det helt store udbytte af. Jeg savner en dybere beskrivelse af HVORFOR jeg skal gøre de ting du beskriver. En sidebemærkning er at i C# hedder det ikke procedurer, det kommer fra gamle procedurale sprog som Pascal. Når man koder Objektorienteret hedder det Metoder, igen - for tyndt.
Enig med brian lidt tyndt. C# mener jeg ikke er for den uerfarne programmør derfor bør man allerede i begyndelses fasen have lidt indblik i forskellige "tricks" som man kan lave, derfor mener jeg at du som minimum også burde inkludere hvordan jeg nu f.eks. kan tjekke op på om brugeren har indtastet, f.eks. "haha snydt" og/eller 1000, altså noget som ikke kan lade sig gøre.
Og så igen, hvorfor skal man skrive "Using System" og hvorfor skal classen hedde mainclas, og hvorfor skal der stå public static void?
En ny artikel (eller en rettelse) med noget af alt det her, og så nogle flere af slagsen (der er lidt mere dybdegående) vil være rigtig dejligt :-).
Ellers rart at der endelig KOM nogle artikler.
for tynd jeg lærte noge som jeg kunne i hovedt ved at skimme en side i en c# bog hos boghandleren, men jeg kunne godt bruge det der link til den gartis IDE det rykker den lidt op.
må også give de andre enige i at det smager lidt af en kop tynd te
.. kaare du kommer ind på nogle meget væsentlige emner som der helt klart burde være kommet ind på.
Der burde også være forklaret opbygningen af klasser og namespaces da du jo henvender dig til en nybegynder som ikke nødvendigvis ved hvad dette er.
Evt. også komme ind på hvorfor der skal bruges "string[] args"
Men nu ikke for at håne dig helt.. Det var dejligt der endelig kom nogle artikler og jeg håber da det inspirer andre til at få lavet nogle artikler også
Tak for alt kritiken
Kan være der kommer en ny artikel på et tidspunkt som går lidt mere i dybden med hvad C# egentligt er og hvordan det er opbygget
.
hmm, linket til ICSharpCode, skulle ha været
http://icsharpcode.net/ ..
Ros for at du bider kritiken i dig!
Det er fandeme flot du tager så godt imod kritik
Du skal være
logget ind for at skrive en kommentar.