C # Видове данни - Топ 3 C # типове данни с примери

Съдържание:

Anonim

Въведение в типове данни C #

Както подсказва името, типът данни е типът данни, който ще съхранявате във вашата променлива. Типът данни се използва, за да подскаже на компилатора или интерпретатора какъв вид данни ще обработва и колко памет ще е необходима за тези данни.

За Ex: int е тип данни, който съхранява числова стойност и изисква четири байта.

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

Синтаксис:

datatype = value;

Примери за C # типове данни:

1. int intVal = 55; В този пример: int е тип данни, intVal е име на променлива, 55 е стойност.

2. char charVal = 'A';

3. string strVal = "Здравей, свят!";

4. float floatVal = 15.5f;

5. bool boolVal = вярно;

Топ 3 C # типове данни

C # типове данни са разделени на три категории:

1. Типове стойност

  • Директно съхранява стойността на променлива в паметта.
  • Приема както подписани, така и неподписани литерали.
  • В C # има два типа стойностни данни:
  1. Предварително определени типове данни като int, char, bool и т.н.
  2. Дефинирани от потребителя типове данни като enum, struct и т.н.

2. Референтни типове

  • Те съхраняват адреса на променлива, т.е. съдържат препратката към променлива.
  • Ако данните се променят с една променлива, другата променлива автоматично ще получи актуализираната стойност.
  • В C # има два типа референтни типове данни:
  1. Предварително определени типове като Object, String
  2. Потребителски дефинирани типове като клас, интерфейс

3. Типове показалец

  • Те съдържат адреса на паметта на променливата.
  • Символи, използвани в показалеца:
  1. & (ampersand) - Адресният оператор определя адреса на променлива
  2. * (звездичка) - Индиректен оператор, достъп до стойността на адрес

Примери за различни типове данни

Следват няколко примера за различни типове данни в C #,

Пример №1: Някои типове стойности

using System;
public class ValueDataTypes
(
public static void Main()
(
//int - 32-bit signed integer type
int i = 55;
//char - 16-bit Unicode character
char ch = 'A';
//short - 16-bit signed integer type
short s = 56;
//long - 64-bit signed integer type
long l = 5564;
//uint - 32-bit unsigned integer type
uint ui = 100;
//ushort - 16-bit unsigned integer type
ushort us = 80;
//ulong - 64-bit unsigned integer type
ulong ul = 3625573;
//double - 64-bit double precision floating point type
double d = 6.358674532;
//float - 32-bit single-precision floating point type
//float needs 'f' or 'F' as suffix
float f = 2.7330645f;
//decimal - 128-bit precise decimal values with 28-29 significant digits
//decimal needs 'm' or 'M' as suffix
decimal dec = 339.5m;
Console.WriteLine("Integer: " + i);
Console.WriteLine("Char: " + ch);
Console.WriteLine("Short: " + s);
Console.WriteLine("Long: " + l);
Console.WriteLine("Unsinged integer: " + ui);
Console.WriteLine("Unsinged short: " + us);
Console.WriteLine("Unsinged long: " + ul);
Console.WriteLine("Double: " + d);
Console.WriteLine("Float: " + f);
Console.WriteLine("Decimal: " + dec);
)
)

изход:

Пример №2: Тип данни на Bool, Enum и Struct

Структурата е композитен тип, използван за съхранение на свързани данни с различни типове данни. Enum се използва за присвояване на имена на интегрални константи.

using System;
public class BoolEnumStruct
(
//declaring enum
enum Days ( Saturday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday );
//declaring structure
struct Student
(
public int Id;
public string FirstName;
public string LastName;
public Student(int id, string fname, string lname)
(
Id = id;
FirstName = fname;
LastName = lname;
)
)
public static void Main()
(
//boolean data type
bool flag = true;
if(flag)
(
Console.WriteLine("Bool value: "+flag);
Console.WriteLine();
)
//Accessing enum value for Friday
Console.WriteLine("Enumeration:");
Console.WriteLine(Days.Friday);
Console.WriteLine((int)Days.Friday);
Console.WriteLine();
//passing values to structure members using constructor
Student student = new Student(1, "Riya", "Sen");
Console.WriteLine("Structure Members:");
Console.WriteLine(student.Id);
Console.WriteLine(student.FirstName);
Console.WriteLine(student.LastName);
)
)

изход:

Пример №3: Референтни типове данни

using System;
public class StrObjDynamic
(
public static void Main()
(
string str = "C# ";
str += "Data Types";
Console.WriteLine("String: "+str);
Console.WriteLine();
//declaring object
object obj;
obj = 100;
Console.WriteLine("Object: "+obj);
//displaying type of object using GetType()
Console.WriteLine(obj.GetType());
Console.WriteLine();
//declaring dynamic variables
dynamic value1 = "Hello World!";
dynamic value2 = 5296;
dynamic value3 = 6.5;
//displaying actual type of dynamic variables using GetType()
Console.WriteLine("Dynamic:");
Console.WriteLine("Type of value1: (0)", value1.GetType().ToString());
Console.WriteLine("Type of value2: (0)", value2.GetType().ToString());
Console.WriteLine("Type of value3: (0)", value3.GetType().ToString());
)
)

изход:

Пример №4: Интерфейс

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

using System;
interface Shape
(
void rectangle();
)
public class Area : Shape
(
//implementing interface method
public void rectangle()
(
Console.WriteLine("Area of rectangle is Length * Breadth");
)
public static void Main(String() args)
(
Area area = new Area();
area.rectangle();
)
)

изход:

Пример №5: Делегат

Делегатът е обект, който съдържа препратката към метода.

using System;
public class DelegateDemo
(
// Declaring delegate
public delegate void Sum(int a, int b);
public void SumVal(int a, int b)
(
Console.WriteLine(a +"+"+ b+ " = (0)", a + b);
)
public static void Main(String() args)
(
DelegateDemo delegateDemo = new DelegateDemo();
// Creating object of delegate
Sum sum = new Sum(delegateDemo.SumVal);
//Passing values to the method using delegate object
sum(100, 100);
)
)

изход:

заключение

  • Типът стойност се съхранява в стека.
  • Референтен тип се съхранява на куп.
  • Когато тип стойност се преобразува в референтен тип, той се нарича бокс (неявен процес на преобразуване) .
  • Когато референтен тип се преобразува в тип стойност, той се нарича разпаковане (изричен процес на преобразуване) .

Препоръчителни статии

Това е ръководство за типовете данни на C #. Тук обсъждаме видовете C # заедно с различни примери за типове данни. Можете също да разгледате следните статии, за да научите повече-

  1. Как да получите достъп до пространствата на имената в C #?
  2. 2D масиви в C #
  3. Размяна в C #
  4. Обекти в C #
  5. Размяна в PHP
  6. 3 различни вида масиви в PHP (примери)
  7. Типове данни на PHP с примери