Tipos de dados c # - Os 3 principais tipos de dados C # com exemplos

Índice:

Anonim

Introdução aos tipos de dados C #

Como o nome sugere, o tipo de dados é o tipo de dados que você vai armazenar em sua variável. O tipo de dados é usado para sugerir ao compilador ou intérprete que tipo de dados ele irá processar e quanta memória será necessária para esses dados.

Para Ex: int é um tipo de dados que armazena valor numérico e requer quatro bytes.

Como o C # é uma linguagem fortemente tipada, é necessário declarar o tipo de variável ou constante antes de usá-lo. O uso apropriado de tipos de dados economiza memória e melhora o desempenho do aplicativo.

Sintaxe:

datatype = value;

Exemplos de tipos de dados em C #:

1. int intVal = 55; Neste exemplo: int é um tipo de dados, intVal é um nome de variável, 55 é um valor.

2. char charVal = 'A';

3. string strVal = "Olá, mundo!";

4. float floatVal = 15.5f;

5. bool boolVal = true;

Os três principais tipos de dados C #

Os tipos de dados C # são divididos em três categorias:

1. Tipos de valor

  • Armazena diretamente o valor de uma variável na memória.
  • Aceita literais assinados e não assinados.
  • Existem dois tipos de dados de valor em C #:
  1. Tipos de dados predefinidos como int, char, bool etc.
  2. Tipos de dados definidos pelo usuário, como enum, struct, etc.

2. Tipos de referência

  • Eles armazenam o endereço da variável, ou seja, eles contêm a referência a uma variável.
  • Se os dados forem alterados por uma variável, a outra variável obterá automaticamente o valor atualizado.
  • Existem dois tipos de dados de referência em C #:
  1. Tipos predefinidos como Objeto, String
  2. Tipos definidos pelo usuário como Classe, Interface

3. Tipos de ponteiros

  • Eles contêm o endereço de memória da variável.
  • Símbolos usados ​​no ponteiro:
  1. & (e comercial) - Operador de endereço, determina o endereço de uma variável
  2. * (asterisco) - operador indireto, acesse o valor de um endereço

Exemplos de diferentes tipos de dados

A seguir, alguns exemplos de diferentes tipos de dados em C #,

Exemplo # 1: Alguns tipos de valor

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);
)
)

Resultado:

Exemplo # 2: Tipo de dados Bool, Enum e Struct

A estrutura é um tipo composto usado para armazenar dados relacionados com diferentes tipos de dados. Enum é usado para atribuir nomes a constantes integrais.

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);
)
)

Resultado:

Exemplo # 3: Tipos de dados de referência

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());
)
)

Resultado:

Exemplo # 4: Interface

Uma interface pode ter propriedades, métodos, eventos e indexadores como seus membros. Ele contém apenas a declaração de seus membros. A implementação de seus membros é fornecida pela classe que a implementa de forma implícita ou explícita.

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();
)
)

Resultado:

Exemplo 5: Delegado

Um delegado é um objeto que mantém a referência ao método.

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);
)
)

Resultado:

Conclusão

  • O tipo de valor é armazenado na pilha.
  • Um tipo de referência é armazenado na pilha.
  • Quando um tipo de valor é convertido em um tipo de referência, é chamado de boxe (processo implícito de conversão) .
  • Quando um tipo de referência é convertido em um tipo de valor, ele é chamado de unboxing (processo de conversão explícito) .

Artigos recomendados

Este é um guia para tipos de dados c #. Aqui discutimos os tipos de C # junto com diferentes exemplos de tipos de dados. Você também pode consultar os seguintes artigos para saber mais:

  1. Como acessar namespaces em c #?
  2. Matrizes 2D em C #
  3. Trocando em C #
  4. Objetos em c #
  5. Trocando em PHP
  6. 3 tipos diferentes de matrizes em PHP (exemplos)
  7. Tipos de dados do PHP com exemplos