C# .
NET - Anotações - Em construção
Versão 2022
Sumário
C# - Data Types(Tipos de dados)
Type Description Range Suffix
byte 8-bit unsigned integer 0 to 255
sbyte 8-bit signed integer -128 to 127
short 16-bit signed integer -32,768 to 32,767
ushort 16-bit unsigned integer 0 to 65,535
int 32-bit signed integer -2,147,483,648
to
2,147,483,647
uint 32-bit unsigned integer 0 to 4,294,967,295 u
long 64-bit signed integer -9,223,372,036,854,775,80 l
8
to
9,223,372,036,854,775,807
ulong 64-bit unsigned integer 0 to ul
18,446,744,073,709,551,61
5
float 32-bit Single-precision -3.402823e38 to f
floating point type 3.402823e38
double 64-bit double-precision -1.79769313486232e308 to d
floating point type 1.79769313486232e308
decimal 128-bit decimal type for (+ or -)1.0 x 10e-28 m
financial and monetary to
calculations 7.9 x 10e28
char 16-bit single Unicode Any valid character, e.g.
character a,*, \x0058 (hex),
or\u0058 (Unicode)
bool 8-bit logical true/false True or False
value
object Base type of all other
types.
string A sequence of Unicode
characters
DateTime Represents date and time 0:00:00am 1/1/01
to
11:59:59pm 12/31/9999
Exemplos:
uint ui = 100u;
float fl = 10.2f;
long l = 45755452222222l;
ulong ul = 45755452222222ul;
double d = 11452222.555d;
decimal mon = 1000.15m;
Convenções
➔ Camel Case: lastName (parâmetros de métodos, variáveis dentro de métodos)
➔ Pascal Case: LastName (namespaces, classe, properties e métodos)
➔ Padrão _lastName (atributos "internos" da classe)
Exemplo:
namespace Curso
{
class ContaBancaria
{
public string Titular { get; set; }
private double _saldo;
public void Deposito(double quantia)
{
_saldo += quantia;
}
public double GetSaldo()
{
return _saldo;
}
}
}
Placeholder, concatenação e Interpolação
int idade = 32;
double saldo = 10.35784;
String nome = "Maria";
//Placeholder
[Link]("{0} tem {1} anos e tem saldo igual a {2:F2} reais", nome,
idade, saldo);
//Interpolação
[Link]($"{nome} tem {idade} anos e tem saldo igual a {saldo:F2}
reais");
// Concatenação
[Link](nome + " tem " + idade + " anos e tem saldo igual a "
+ [Link]("F2", [Link]) + " reais");
Modificadores de Acesso
public: o tipo ou membro pode ser acessado por qualquer outro código no mesmo assembly ou em
outro assembly que faz referência a ele. O nível de acessibilidade de membros públicos de um tipo
é controlado pelo nível de acessibilidade do próprio tipo.
private: o tipo ou membro pode ser acessado somente pelo código na mesma class ou struct.
protected: o tipo ou membro pode ser acessado somente pelo código na mesma class ou em uma
class derivada dessa class.
internal: o tipo ou membro pode ser acessado por qualquer código no mesmo assembly, mas não
de outro assembly. Em outras palavras, tipos ou membros internal podem ser acessados no código
que faz parte da mesma compilação.
protected internal: o tipo ou membro pode ser acessado por qualquer código no assembly no qual
ele é declarado ou de uma class derivada em outro assembly.
private protected: o tipo ou membro pode ser acessado por tipos derivados do class, que são
declarados no assembly relativo.
Classe Object
➔ Toda classe em C# é uma subclasse da classe Object
➔ Object possui os seguintes métodos:
◆ GetType - retorna o tipo do objeto
◆ Equals - compara se o objeto é igual a outro
◆ GetHashCode - retorna um código hash do objeto
◆ ToString - converte o objeto para string
Ordem Sugerida para implementação de membros
da classe
➔ Atributos privados
➔ Propriedades Auto Implementadas
➔ Construtores
➔ Propriedades Customizadas
➔ Outros Métodos da classe
Properties e Auto Properties
Nullable