definición y significado de C-sharp | sensagent.com


   Publicitad R▼


 » 
alemán árabe búlgaro checo chino coreano croata danés eslovaco esloveno español estonio farsi finlandés francés griego hebreo hindù húngaro indonesio inglés islandés italiano japonés letón lituano malgache neerlandés noruego polaco portugués rumano ruso serbio sueco tailandès turco vietnamita
alemán árabe búlgaro checo chino coreano croata danés eslovaco esloveno español estonio farsi finlandés francés griego hebreo hindù húngaro indonesio inglés islandés italiano japonés letón lituano malgache neerlandés noruego polaco portugués rumano ruso serbio sueco tailandès turco vietnamita

Definición y significado de C-sharp

Definición

definición de C-sharp (Wikipedia)

   Publicidad ▼

Wikipedia

C-sharp

Från Wikipedia

Hoppa till: navigering, sök

C# (C-sharp) är ett objektorienterat programspråk utvecklat av Microsoft som del av .NET-plattformen. C# är ett objektorienterat språk baserat till stor del på de populära språken C och C++, programspråket C# har även en hel del gemensamt med Java.

C# är utvecklat av och utvecklas av Anders Hejlsberg.

Programkod skriven i C# omvandlas av en kompilator till så kallad MSIL-kod (Microsoft Intermediate Language), vilket är en sorts bytekod vilken sedan körs i en virtuell maskin, CLR (Common Language Runtime).

C# som programmeringsspråk är inte bundet till Microsoft Windows. Det finns åtminstone två olika fria implementationer av C#-kompilatorer, inom Mono och DotGNU-projekten.

Innehåll

Designmål

  • C# ska vara enkelt, modernt och objektorienterat.
  • Robusthet, beständighet och produktivitet är viktigt. Språket borde ha hög typsäkerhet, stoppa försök till att använda oinitierade variabler och automatisk skräpinsamling

Historik

Anders Hejlsberg rekryterades 1996 till Microsoft som arkitekt för Visual J++. Hejlsberg blev sedan chefsarkitekt för C#. C# utvecklades för att Microsoft vill ha ett språk som liknade Java, men som man själv ägde och som var inriktat mot Microsoft Windows, till skillnad från Java som är mer plattformsoberoende.

Version 1.2 av C# lämnades in till ECMA för standardisering och blev 2001 godkänt som ECMA-334. C# är även ISO-standardiserat som ISO/IEC 23270. Version 2.0 av C# släpptes i samband med version 2005 av Microsoft Visual Studio i november 2005. Version 3.0 släpptes i samband med .NET Framework 3.5 i november 2007

Funktioner

C# är det språk som är mest bundet till det underliggande Common Language Infrastructure (CLI). De flesta av de grundläggande datatyperna i C# motsvaras av värdetyper som stöds av de olika implementationerna av CLI. Specifikationen för C# tar dock aldrig upp några krav på kodgenerering: den säger inte att C# måste stödja en implementation av CLI, eller generera Common Intermediate Language-kod (eller CIL). En C#-kompilator skulle lika väl kunna generera vanlig maskinkod, som till exempel C och FORTRAN. Men i praktiken genererar alla existerande implementationer CIL.

C# skiljer sig ifrån C och C++ på många sätt:

  • Det finns inga globala variabler eller funktioner. Det är dock möjligt att deklarera statiska variabler och funktioner/metoder inuti publika klasser för att uppnå samma resultat.
  • C# har en strikt boolesk typ, bool (alias för System.Boolean), som kan användas i villkorssatser (if, while etc.). Typen int (heltal) kan inte konverteras till en bool vilket är tillåtet i C resp. C++.
  • Minnesadresser kan refereras med pekare om de omsluts av ett kodblock (t.ex. en metod) som är märkt med nyckelordet unsafe. Pekare kan referera till värdetyper, vektorer och andra pekare. Annars är pekare inte tillgängliga eftersom de inte anses vara säkra. Klassen System.IntPtr är en wrapper runt en pekare som är tillåten inom säker kontext. De kan dock bara manipuleras.
  • Hanterat minne kan inte frias av programmeraren, däremot kan det samlas in av skräpinsamlaren. Man kan också bestämma ett objekts livslängd med en using-sats.
  • C# är mer typsäkert än C++.
  • Enumerations-medlemmar placeras i sitt eget namnutrymme.
  • C# har egenskaper.
  • Reflektion av typer stöds fullt ut.
  • C# har för närvarande (i C# 3.0) 77 reserverade ord.

Fördelar

  • Relativt lätt att lära sig – C#:s syntax liknar syntaxen i språk som C, C++ och Java. .NET innehåller ett stort kodbibliotek vilket förenklar vid utformning av komplexa system.
  • Flera användningsområden – C# kan både användas som kompilerat språk på en lokal dator och som språk i ASP.NET. Detta gör det enkelt att länka samman program på en klientdator med serverdatorers program.
  • Erbjuder enkel integration med andra Microsoft-baserade programvaror (OBS! Se även avsnittet Nackdelar för mer information om detta).
  • C#-kompilatorn kan användas utan licenser och speciella utvecklingsverktyg.

Nackdelar

  • Marginellt långsammare programkörning – Tillämpningar skrivna i C# körs liksom javaprogram i en virtuell maskin vilket bl a innebär att programmet kompileras precis innan det körs (se JIT-kompilering) vilket leder till en fördröjd uppstartsfas. Detta kan dock avhjälpas med verktyget ngen.exe som ingår i programsviten vilket förkompilerar MSIL-koden till maskinkod för aktuell processorarkitektur.

Programkodsexempel

Det klassiska "Hello, world!"-programmet i C#:<source lang="csharp">using System;

namespace HelloWorld{

 class Hello {   public static void Main()   {     Console.WriteLine("Hello World!");   } }

}</source>Programmet matar efter kompilering och körning ut textsträngen "Hello World!".

If-sats i C#:<source lang="csharp">using System;

namespace If{

 class If  {    public static void Main()    {      int Alderkalle;      int Alderkajsa;      Console.WriteLine("Hur gammal är Kalle?");      Alderkalle = int.Parse(Console.ReadLine());      Console.WriteLine("Hur gammal är Kajsa?");      Alderkajsa = int.Parse(Console.ReadLine());      if(Alderkalle > Alderkajsa)    //om Kalle är äldre än Kajsa      {         Console.WriteLine("Kalle är äldre än Kajsa");      }      else if(Alderkalle < Alderkajsa)    //om kalle är yngre än Kajsa      {         Console.WriteLine("Kalle är yngre än Kajsa");      }      else   //Inträffar om ingen av de ovanstående if-satserna inträffat      {         Console.WriteLine("Kalle är lika gammal som Kajsa");      }    }  }

}</source>Programmet frågar hur gamla Kajsa och Kalle är, sedan matar det ut en textsträng beroende på deras ålder.

Objekt i C#:<source lang="csharp">using System;

namespace CustomObject{

 // Vår egna klass class Car {   // Några variablar som tillhör klassen   public string model;   public int year;
   // Detta händer då ett nytt Car-objekt skapas   public Car()   {     this.model = "";     this.year = 0;   } }
 class Main {   public static void Main()   {     // Skapa ett nytt Car-objekt     Car volvo = new Car();     volvo.model = "Volvo Amazon";     volvo.year = 1956;
     // Skriv ut bilmodellen i consolrutan     Console.WriteLine("Modell: " + volvo.model);     Console.WriteLine("År: " + volvo.year);   } }

}</source>Programmet använder ett egengjort objekt för att enkelt lagra information om bilar.

Ovanstående exempel är vad man skulle kalla "enkla Console.Application program". Console application är en typ av program som använder sig inte av grafiskt gränssnitt utan av ett utseende väldigt likt Windows CMD (command). Standardutseende för detta program när det körs är vit text, svart bakgrund och en liten box (precis som cmd).

Om man bortser från Console Application kan C# även programmera Windows.Application. Detta verktyg är mycket mer uppskattat än Console.Application. Windows.Application gentemot Console.Application är ett grafiskt gränssnitt då man programmerar ett program med ett utseende likt de standard program som redan finns i Windows. Utseende på programmet kan variera beroende på vilket utseende ditt operativsystem är ställt att köra på (Windows Classic och Windows XP är en stor grafisk skillnad i programmet).

Ett typiskt kommando i Console.Application är: Console.WriteLine("text här");

Men i Windows.Application ska du använda en textBox, richTextBox eller kanske label för att formulera dig i text, vilket skulle kunna se ut såhär:<source lang="csharp">//Följande är ett påstående om en checkbox i Windows.Application blivit ikryssad så kommer texten ändras i label1 (en text hållare). //anledningen till label1 formuleras label1.Text är att annars vet inte C# att det är en textform som ska omvandlas.

if(checkbox1.Checked == true){

   label1.Text = "Hejsan allihopa";

}</source>C# Visual Studio kan även samarbeta med en databas (MySQL) för att program med.

Referenser

Denna artikel är helt eller delvis baserad på material från engelskspråkiga Wikipedia

Externa länkar

 

todas las traducciones de C-sharp


Contenido de sensagent

  • definiciones
  • sinónimos
  • antónimos
  • enciclopedia

 

4000 visitantes en línea

computado en 0,016s