Kategori:Csharp
Fra CodeWiki
| C# | |
|---|---|
| Paradigm | Objekt-orientert, strukturert, imperativt |
| Kom i | 2001 |
| Designet av | Microsoft Corporation |
| Typer | Statisk, sterkt, både trygt og utrygt, nominativt |
| Viktige implementasjoner | .NET Framework, Mono, dotGNU |
| Dialekter | 1.0, 1.5, 2.0 (ECMA), 3.0 |
| Påvirket av | Delphi, C++, Java, Modula-3, Eiffel |
| Påvirket | Nemerle, D, Java |
C# er et språk som er utviklet av Microsoft, men godkjent av International Organization for Standardization som ISO/IEC 23270:2003
Microsoft sin implementasjon av C# bruker Just In Time kompilering, og programmet blir ikke kompilert til native code av Visual C# kompilatoren.
.NET Framework er rammeverket rundt Visual C# og er ganske omfattende, og inneholder blant annet GUI komponenter, Socket, Grafikk, Streams og Kryptografi.
Innhold |
Syntaks
C# bruker et språk som er hovedsaklig en mellomting mellom C++ og Java som gjør at språket er forholdsvis enkelt å lære seg dersom man har erfaring fra disse. Språket er objektorientert og har hovedsaklig 4 forskjellige datastrukturer: class, struct, interface og enum. I motsetning til C++, er det ganske stor forskjell på class og struct i C#. Class allokeres alltid på heap mens struct allokeres på stack (med mindre man bruker GlobalAlloc funksjonen eller lignende) Struct kan i tillegg ikke arve fra andre structer eller klasser, men kun fra interface. Enum er mer lik enum i C++ en i Java, det fordi enum i C# er en primitiv verdi, og kan ikke inneholde andre felt en konstanter. En kan også si at enum skal være av en spesiell type (standard er int) Valget er byte, short, int, long, signed byte, unsigned short, unsigned int og unisgned long.
Garbage collector
Garbage Collection er også en del av C#, som gjør at programmereren ikke trenger å tenke så mye på å frigjøre ressurser etterhvert som de skal forkastes. I motsetning til C++, holder C# styr på alle objekter og minneområder som programmet allokerer, og frigjør dem etterhvert som de ikke lenger er i bruk, og det trengs. Dette innebærer at ressurser ikke nødvendigvis blir frigjort når man skulle tro, og dermed har Microsoft tatt med en funksjon som heter using, der using tar ett parameter, som er et objekt som arver fra interfacet IDisposable. På slutten av kodeblokken, kaller da C# IDisposable.Dispose() som gjør at objektet skal frigjøre alle ting som GC ikke tar seg av (databasekoplinger, unmanaged minne og lignende)
Datatyper
C# er et språk hvor alle objekter må ha en datatype, før det kan brukes. C# har to "hovedtyper"; de som er bygd inn i C# (intrinsiske typer) og de du lager selv (klasser).
De intrinsiske typene kan deles opp slik:
- Numeriske
- Heltall (Uten desimaler)
- Flyttall (Med desimaler)
- Ikke-numeriske
| C# type | Størrelse (i bit) | Signert/Usignert | Beskrivelse |
|---|---|---|---|
| byte | 8 | Usignert | Kan ha verdiene 0 til 255 |
| sbyte | 8 | Signert | Kan ha verdiene -128 til 127 |
| short | 16 | Signert | Kan ha verdiene -32 768 til 32 767 |
| ushort | 16 | Usignert | Kan ha verdiene 0 til 65 535 |
| int | 32 | Signert | Kan ha verdiene -2 147 483 648 til 2 147 483 647 |
| uint | 32 | Usignert | Kan ha verdiene 0 til 4 294 967 295 |
| long | 64 | Signert | Kan ha verdiene -9 233 372 036 854 775 808 til 9 223 372 036 854 775 807 |
| ulong | 64 | Usignert | Kan ha verdiene 0 til omtrent 1,85 * 1019 (185 etterfulgt av 17 0-er) |
| C# type | Størrelse (i bit) | Beskrivelse |
|---|---|---|
| float | 32 | Kan ha verdiene fra omtrent +/- 1,5 * 10-45 til omtrent +/- 1,8 * 1038 med 7 desimaler. |
| double | 64 | Kan ha verdiene fra omtrent +- 530 * 10-324 til omtrent +/- 1,8 * 10308 med 15-16 desimaler. |
| decimal | 128 | Kan ha tall på opptil 28 siffer, og opptil 27 desimaler. Suffiksen "m" eller "M" må brukes. |
| C# type | Størrelse (i bit) | Beskrivelse |
|---|---|---|
| char | 16 | Unicode-tegn |
| bool | 8 | True eller false |
Hello world i C#
C# er fullstendig objektorientert, og derfor må start funksjonen ligge inne i en klasse. Navnet på klassen kan være hva som helst, men funksjonen må hete main. Main kan enten returnere int, eller være en void funksjon, lager man et console program bruker man som regel int, fordi da kan programmet returnere en feilmelding til miljøet. Main kan også enten ha ingen parameter, eller en string array (string[]) som inneholder parameterne til programmet.
using System; public static class Program { public static void Main() { Console.WriteLine("Hello World!"); } }
Dette programmet skriver "Hello World!" til et console vindu.
Artikler i kategorien «Csharp»
Det er 11 artikler i denne kategorien.
BCI |
I forts.LS |
S forts.U |
