Det moderna programspråket

22. november 2008
Det som gör C# till ett modernt programspråk är följande:
  • automatisk skräphantering
  • enkel och konsekvent syntax
  • typsäkerhet
  • välutvecklad felhantering
  • inbyggd support för datatyper som array och string
  • en hanterad och säker miljö för exekvering
  • en komponentbaserad struktur
  • en ny datatyp decimal för större beräkningar (128 bitar)
  • ett XML-färdigt format efter kompilering
Det blir allt vanligare att man använder kodkomponenter från flera olika programspråk när man utvecklar applikationer och eftersom C# är komponentbaserat så är det väl anpassat detta ändamål.

Just nu värderat 4.3 av 3 människor

  • Currently 4,333333/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

C# .NET

Datatyper i C#

22. november 2008

I C# arbetar man med två sorters datatyper, värdetyper och referenstyper.

Eftersom alla inbyggda datatyper ligger i .NET ramverket, så är dessa datatyper gemensamma för alla språk som är anpassade för .NET plattformen.

Egenskaper för värdetyper:

  • innehåller data
  • kan inte vara NULL
  • allokeras på stacken

Exempel på värdetyper:
primitiva int i;
enum enum State { On, Off }
structer struct Point { int x, y; }

Egenskaper för referenstyper:

  • innehåller en referens till ett objekt
  • kan vara NULL
  • allokeras på heapen (en mekanism för lite mer komplexa datastrukturer som tillexempel strängar eller klasser)

Exempel på referenstyper:
klasser class Test{...}
interfaces interface ITest{...}
vektorer string[] s = new string[10];
delegater delegate void Empty();

Just nu värderat 3.0 av 1 människor

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

C# .NET

Fakta om programspråket C#

22. november 2008

C-Sharp (C#), är ett strikt objektorienterat programspråk speciellt utvecklat för arbete med ASP.NET-applikationer.

Programspråkets uppbyggnad liknar programspråken JAVA och C++. Det sägs att C# har C++s styrka, Visual Basics enkelhet och Javas elegans.

C-Sharps utveckling har letts av Anders Hejlsberg, chefsarkitekt på Microsoft som även utvecklat Turbo Pascal och Delphi.

Källkod som är skriven i C# kompileras av en kompilator till MSIL-kod som i sin tur exekveras i en virtuell maskin, CLR.

I CLR:en är objekten i en skyddad miljö som kallas "Application Domains". Kommunikationen mellan olika objekt i denna miljö kan ske väldigt effektivt eftersom varje "application domain" innehåller flera trådar där varje tråd kan hanteras enskilt. Om en tråd kraschar så påverkar det inte resten av systemet. Det kan även finnas olika säkerhetsnivåer för varje domän.

Enkla skillnader mellan C# och C++:

  • C# har en strikt boolesk typ, bool (alias för System.Boolean), som kan användas i villkorssatser. I c# kan man inte konvertera en int till en bool, vilket är tillåtet i C resp. C++. 
  • C# är mer typsäkert än C++.
  • C# har egenskaper.
  • Hanterat minne kan inte frias programmeringsmässigt, däremot kan det samlas in av skräpinsamlaren (garbage collector). Man kan också bestämma ett objekts livslängd med en using-sats.

Fördelar med C#:

  •  Enkel och konsekvent syntax
  • C#-kompilatorn kan användas utan licenser och speciella utvecklingsverktyg
  • Enkel integration med andra Microsoft-baserade programvaror

Nackdelar med C#:

  • Plattformsbegränsat, starkt bundet till Microsoft Windows
  • Långsam programkörning pga att koden kompileras precis innan det körs

Just nu värderat 4.5 av 2 människor

  • Currently 4,5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

C# .NET