Kategori:Csharp

Fra CodeWiki

(Omdirigert fra Csharp:Hovedside)
Gå til: navigasjon, søk
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
Heltall
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)
Flyttall
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.
Ikke-numeriske typer
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.

B

C

I

I forts.

L

S

S forts.

U

Personlige verktøy
dataprogrammering
generelt
Andre språk