Какви типове данни съществуват в C#

Kakvi Tipove Danni S Sestvuvat V C



Типовете данни са важен аспект на всеки език за програмиране и C# предлага няколко типа данни, които се използват за деклариране на променливи, дефиниране на методи и създаване на обекти. В тази статия ще обсъдим различните типове данни в C# и техните подкатегории, включително типове данни стойност, препратка и указател.

Какви типове данни съществуват в C#?

C# е a строго типизиран език за програмиране , което означава, че всички променливи трябва да бъдат декларирани с конкретен тип данни и има три основни категории типове данни:







1: Типове данни за стойност

Типовете стойностни данни са тези, които съхраняват своите стойности директно в паметта. Те са разпределени в стека и често се използват за съхраняване на по-малки набори от данни. Следните са подкатегориите на типове данни за стойност:



Числов тип данни



Тези типове данни се използват за съхраняване на числови стойности. Числовите типове данни са разделени на няколко подкатегории, като десетични числа, цели числа и числа с плаваща запетая:





  • Цели числа: Тези типове данни се използват за съхраняване на цели числа, а подкатегориите на цели числа включват sbyte, byte, short, ushort, int, uint, long и ulong. Диапазонът от стойности, които всеки формат на целочислени данни може да съдържа, варира.
  • Числа с плаваща запетая: Тези типове данни се използват за съхраняване на десетични числа, а подкатегориите на числата с плаваща запетая включват float и double. Float може да съхранява до 7 десетични цифри, докато double може да съхранява до 15 десетични цифри.
  • десетични знаци: Тези типове данни се използват за съхраняване на много прецизни десетични цели числа. Decimal може да съхранява до 28 десетични цифри.

Булев тип данни

Булевите стойности, които могат да бъдат само true или false, се съхраняват в тази форма на данни.



Знаков тип данни

Единични знаци се съхраняват с помощта на този тип данни.

Пример

Следният примерен код илюстрира как да използвате типа данни стойност в C#:

използване на системата;

пространство от имена ValueDataTypesExample
{
клас програма
{
статична празнота Основна ( низ [ ] аргументи )
{
int myInt = 5 ;
float myFloat = 3.14f;
двойно myDouble = 3,14159265359 ;
bool myBool = вярно ;
char myChar = 'а' ;

Console.WriteLine ( 'Моята цяло число е: ' + myInt ) ;
Console.WriteLine ( 'Моята плаваща стойност е: ' + myFloat ) ;
Console.WriteLine ( 'Моята двойна стойност е: ' + myDouble ) ;
Console.WriteLine ( 'Моята булева стойност е: ' + myBool ) ;
Console.WriteLine ( „Ценността на моя характер е:“ + myChar ) ;
}
}
}

В този пример сме декларирали и инициализирали променливи с различни типове данни като int, float, double, bool и char. След това отпечатахме стойностите на тези променливи с помощта на метода Console.WriteLine, изходът на тази програма ще бъде:

2: Референтни типове данни

Референтните типове данни са тези, които съхраняват препратка към мястото в паметта, където се съхранява стойността. Те са разпределени в купчината и обикновено се използват за съхраняване на по-големи количества данни. Следните са подкатегориите на типовете референтни данни:

Клас

В C# класът е референтен тип, който дефинира план за създаване на обекти.

низ

Този референтен тип данни се използва за съхраняване на текстови данни, низът е референтен тип, но се държи като стойностен тип по много начини.

Масив

Колекция от стойности от един и същи тип може да се съхранява с помощта на този тип данни. Масивите са референтни типове, но в определени случаи могат да се държат и като стойностни типове.

Интерфейс

Интерфейсът дефинира набор от методи, свойства, събития и индексатори, без да предоставя подробности за изпълнението.

Делегиране

Делегатът ви позволява да предадете метод като аргумент на друг метод и след това да извикате този метод по-късно чрез делегата.

Пример

Ето примерен C# код, който показва как да използвате референтни типове данни :

използване на системата;

клас Лице
{
име на публичен низ;
public int Възраст;
}

клас програма
{
статична празнота Основна ( низ [ ] аргументи )
{
Лице person1 = ново лице ( ) ;
човек1.Име = 'СЕБЕ СИ' ;
person1.Age = двадесет ;

Лице лице2 = лице1;
person2.Age = 30 ;

Console.WriteLine ( лице1.Име + 'е' + човек1.Възраст + 'на години.' ) ;
Console.WriteLine ( person2.Име + 'е' + човек2.Възраст + 'на години.' ) ;
}
}

Класът Person в този пример има две публични полета: Name, което е от тип string, и Age, което е от тип int. След това правим нов екземпляр на класа Person и го присвояваме на person1 в метода Main. Ние променяме атрибутите за име и възраст на person1.

След това създаваме друга референтна променлива person2 и й присвояваме стойността на person1. След това променяме свойството Age на person2 на 30.

Накрая отпечатваме името и възрастта както на person1, така и на person2. Забележете, че промяната на стойността на човек2.Възраст също променя стойността на person1.Age , тъй като и двете променливи се отнасят за едно и също обект в памет.

3: Типове данни на указателя

Типовете данни на указателя се използват за съхраняване на адреса на паметта на друга променлива. Те се използват при програмиране на ниско ниво, като програмиране на системно ниво или разработка на драйвери на устройства . В C# типовете данни на указателя не се използват директно , но те могат да се използват в опасни кодови блокове. Следното е подкатегорията на типовете данни на указателя:

Тип данни на указателя

Този тип данни се използва за съхраняване на адреса на паметта на друга променлива.

Ето един пример, който демонстрира използването на указателни типове данни в C#, въпреки че изисква много грижи:

използване на системата;

клас програма {
статична опасна празнота Основна ( ) {
int число = 10 ;
вътр * p = и никой;
Console.WriteLine ( $ „Стойност на num: {num}“ ) ;
Console.WriteLine ( $ „Адрес на номер: {(long)p:X}“ ) ;
Console.WriteLine ( $ „Стойност на num с помощта на указател: {*p}“ ) ;
Console.ReadLine ( ) ;
}
}

В този пример използваме ключовата дума unsafe, за да позволим използването на указатели. Ние декларираме променлива тип int и й даваме стойност 10. След това създаваме указател на променлива указател от тип int* и й присвояваме адреса на паметта на стойността, използвайки оператора &.

Освен това след това получаваме достъп до стойността, съхранена във value, чрез дерефериране на указателя с помощта на оператора * и можем също така да променим стойността, използвайки същия оператор:

Забележка: Използването на указатели в C# изисква допълнително внимание и внимание, за да се избегнат проблеми с управлението на паметта, така че те трябва да се използват само когато е необходимо и с повишено внимание.

Заключение

В C# има много различни типове данни, които могат да се използват за различни задачи. По-малки количества данни се съхраняват с помощта на типове данни за стойност, а по-големи количества се съхраняват с помощта на референтни типове данни. Типовете данни с указател се използват в програмирането на ниско ниво и не се използват често в C#.