Datatyper i C#: Double, Heltal, Float, Char
⚡ Smart sammanfattning
Datatyper i C# definierar vilken typ av värden en variabel kan hålla, allt från heltal och flyttal till booleska värden och strängvärden, och de avgör hur mycket minne varje variabel reserverar under programkörning.
Vad är datatyper i C#?
C#-språket kommer med en uppsättning grundläggande datatyper. Dessa datatyper används för att bygga värden som används inom en applikation. Låt oss utforska de grundläggande datatyperna som finns tillgängliga i C#. För varje exempel kommer vi att modifiera bara huvudfunktionen i vår Program.cs-fil.
1) Heltal
En heltalsdatatyper används för att arbeta med siffror. I det här fallet är talen heltal som 10, 20 eller 30. I C# betecknas datatypen med Int32 nyckelord. Nedan är ett exempel på hur denna datatyp kan användas. I vårt exempel kommer vi att definiera en Int32-variabel som heter num. Vi kommer sedan att tilldela variabeln ett heltalsvärde och sedan visa det därefter.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32 num=30; Console.Write(num); Console.ReadKey(); } } }
Code Förklaring:-
- Datatypen Int32 är specificerad för att deklarera en heltalsvariabel som kallas num. Variabeln tilldelas sedan värdet 30.
- Slutligen används console.write-funktionen för att visa numret till konsolen.
Om ovanstående kod matas in korrekt och programmet körs framgångsrikt, kommer följande utdata att visas.
Produktion:
Från utgången kan du tydligt se att heltalsvariabeln som heter num visades i konsolen
2) Double
En dubbel datatyp används för att arbeta med decimaler. I det här fallet är talen heltal som 10.11, 20.22 eller 30.33. I C# betecknas datatypen med nyckelordet "Double". Nedan är ett exempel på denna datatyp.
I vårt exempel kommer vi att definiera en dubbelvariabel som kallas num. Vi kommer sedan att tilldela en Double värde till variabeln och sedan visa den därefter.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { double num=30.33; Console.Write(num); Console.ReadKey(); } } }
Code Förklaring:-
- Dubbeldatatypen är specificerad för att deklarera en dubbeltyp variabel kallas num. Variabeln tilldelas sedan värdet 30.33.
- Slutligen används console.write-funktionen för att visa numret till konsolen.
Om ovanstående kod matas in korrekt och programmet körs framgångsrikt, kommer följande utdata att visas.
Produktion:
Från utgången kan du tydligt se att den dubbla variabeln som heter num visades i konsolen
3) Boolean
En boolesk datatyp används för att arbeta med booleska värden på sant och falskt. I C# betecknas datatypen med det booleska nyckelordet. Nedan är ett exempel på att denna datatyp kan användas.
I vårt exempel kommer vi att definiera en boolesk variabel som heter 'status'. Vi kommer sedan att tilldela variabeln ett booleskt värde och sedan visa det därefter.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Boolean status=true; Console.Write(status); Console.ReadKey(); } } }
Code Förklaring:-
- Den booleska datatypen är specificerad för att deklarera en boolesk variabel som kallas "status". Variabeln tilldelas sedan värdet sant/falskt.
- Slutligen används funktionen console.write för att visa det booleska värdet för konsolen.
Om ovanstående kod matas in korrekt och programmet körs framgångsrikt, kommer utdata att visas.
Produktion:
Från utgången kan du tydligt se att den booleska variabeln som är lika med true visades i konsolen
4) Sträng
En strängdatatyp används för att arbeta med strängvärden. I C# betecknas datatypen med nyckelordet 'String'. Nedan är ett exempel på denna datatyp.
I vårt exempel kommer vi att definiera en strängvariabel som kallas 'meddelande'. Vi kommer sedan att tilldela variabeln ett strängvärde och sedan visa det därefter.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class program { static void Main(string[] args) { String message="Hello"; Console.Write(message); Console.ReadKey(); } } }
Code Förklaring:-
- Strängdatatypen är specificerad för att deklarera en strängvariabel som kallas meddelande. Variabeln tilldelas sedan värdet "Hello".
- Slutligen används console.write-funktionen för att visa strängvärdet för konsolen.
Om ovanstående kod matas in korrekt och programmet körs framgångsrikt, kommer utdata att visas.
Produktion:
Från utgången kan du tydligt se att String-variabeln som heter meddelande visades i konsolen
Komplett lista över C#-datatyper
De fyra exemplen ovan täcker de vanligaste typerna, men C# tillhandahåller en komplett uppsättning inbyggda värdedatatyper. Varje typ reserverar en fast mängd minne och accepterar ett specifikt värdeintervall, så att välja den minsta typen som säkert passar dina data håller ett program effektivt.
| Data typ | Storlek | Räckvidd / Description |
|---|---|---|
| bitgrupp | 1 byte | 0 till 255 |
| kort | 2 bitgrupper | -32,768 till 32,767 |
| int (Int32) | 4 bitgrupper | -2,147,483,648 till 2,147,483,647 |
| lång | 8 bitgrupper | Mycket stora heltal (±9.2 kvintiljoner) |
| flyta | 4 bitgrupper | Decimaltal med ungefär 6–7 siffrors precision |
| dubbla | 8 bitgrupper | Decimaltal med ungefär 15–16 siffrors precision |
| decimal- | 16 bitgrupper | Högprecisionsdecimaler (28–29 siffror) för pengar |
| röding | 2 bitgrupper | Ett enda Unicode-tecken |
| bool | 1 byte | sant eller falskt |
Vid sidan av dessa värdetyper är strängtypen den mest använda referenstypen och lagrar en sekvens av tecken av valfri längd. Att välja en lämplig typ förhindrar överfyllnadsfel och onödig minnesanvändning.
Värdetyper kontra referenstyper i C#
Varje C#-datatyp faller inom en av två grupper: värdetyper och referenstyper. Denna distinktion styr hur C# lagrar data och hur en variabel beter sig när du kopierar den eller skickar den till en metod.
- Värdetyper: Dessa lagrar själva datan direkt, vanligtvis på stacken. int, double, bool, char, uppräkning, och struct är värdetyper. Att tilldela en variabel till en annan kopierar värdet, så de två variablerna förblir oberoende.
- Referenstyper: Dessa lagrar en referens (en minnesadress) som pekar på data på heapen. string, object, arrays och class instances är referenstyper. Att kopiera en referensvariabel kopierar bara adressen, så båda variablerna delar samma objekt.
En variabel av värdetyp kan aldrig vara null eftersom den alltid innehåller ett värde, medan en oinitialiserad referenstyp har standardvärdet null. Att förstå denna skillnad hjälper dig att förutsäga hur dataändringar flödar genom ett program.
Typkonvertering i C#
C# behöver ofta flytta ett värde från en datatyp till en annan, till exempel genom att omvandla användarinmatning, som alltid är text, till ett tal. Denna process kallas typkonvertering och sker på tre huvudsakliga sätt.
- Implicit omvandling: Kompilatorn konverterar automatiskt när det inte finns någon risk för dataförlust, till exempel när ett heltal tilldelas en double. Ingen speciell syntax krävs.
- Explicit konvertering (casting): Du placerar måltypen inom parentes, till exempel (int)myDoubleCasting kan förlora data — att konvertera en dubbel till ett heltal tar bort decimaldelen — så du accepterar risken medvetet.
- Hjälpmetoder: Klassen Convert (Convert.ToInt32) och varje typs Parse-metod (int.Parse) omvandlar strängar till tal, medan ToString omvandlar värden tillbaka till läsbar text.
Att välja rätt konvertering håller data korrekta och förhindrar körtidsfel när typerna på varje sida av en tilldelning inte matchar.









