OlĂĄ pessoal, meu nome Ă© Mauricio Junior. Estou disposto a mostrar uma nova maneira de utilizar um novo operador C#.NET, cujo tem o objetivo de verificar se o valor Ă© nulo. Caso for nulo o mesmo atribui automaticamente outro valor.
Pode ser usado também para instanciar nova classe, verifica se a mesma jå estå instanciada; caso não for cria uma nova.
Requisitos:- Visual Studio.NET 2005 - Framework 2.0 instalado - Conhecimento bĂĄsico - Linguagem C#.NET - Service Pack 1 VS.NET Instalado |
O bom mesmo Ă© mostrar os exemplos feitos para que vocĂȘ entenda melhor e mais fĂĄcil podendo assim praticar em casa e em sua mĂĄquina. Criei um projeto do tipo Web.
Classe
Criei uma nova classe em Add new Item... clicando com o botĂŁo direito em cima do projeto. O nome da classe Ă© clsClasse.cs. ReferĂȘncia 1.1
public class clsClasse { public String recebe() { return "meu nome"; } public String mostrar() { return "mostrar"; } }
|
ReferĂȘncia: 1.1
Explicação:
Dentro da classe, criei dois métodos que tornam o tipo String e não recebem parùmetro algum. São métodos simples, que apenas retornam uma string qualquer.
Na classe principal âdefault.aspx.csâ fiz uma declaração para a classe. Logo depois do public partial class _Default... (ReferĂȘncia 1.2)
clsClasse myClasse; |
ReferĂȘncia: 1.2
Modo antigo de instanciar
Antigamente utilizava um âif" para verificar se a classe jĂĄ havia uma instancia criada, caso nĂŁo houvesse criava automaticamente. (ReferĂȘncia 1.3)
clsClasse myClasse; protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if(myClasse == null){ myClasse = new myClasse(); } lblResultado.Text = myClasse.recebe(); } } |
ReferĂȘncia: 1.3
Novo modelo de instanciar
Depois de verificar, caso fosse null criava uma nova instancia e chamava o mĂ©todo publico. Com o novo operador pode ser feito da seguinte maneira: (ReferĂȘncia 1.4)
clsClasse myClasse; protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { myClasse = myClasse ?? new clsClasse(); lblResultado.Text = myClasse.recebe(); } } |
ReferĂȘncia: 1.4
No modo antigo era feito a verificação em 3 linhas, no novo modo é feito em apenas uma linha.
Outros exemplos
Verificando se a string for nula, caso verdadeiro atribui o outro valor.
string mensagem = null string a = mensagem ?? "junior"; //resultado retornado junior |
ReferĂȘncia: 1.5
string mensagem = "mauricio"; string a = mensagem ?? "junior"; //resultado retornado mauricio |
ReferĂȘncia: 1.6
Verificando se o valor inteiro Ă© null
int? numero = null; int var = numero ?? 52; //resultado retornado 52 |
ReferĂȘncia 1.7
int? numero = 1; int var = numero ?? 52; //resultado retornado 1 |
ReferĂȘncia: 1.8
No exemplo (1.9) ele jĂĄ converte o int? automaticamente.
int? numero = 1; int? var = numero ?? 52; //resultado retornado 1 |
ReferĂȘncia: 1.9
Bom, chego ao final do artigo. Espero que vocĂȘs tenham gostado e aprendido.
Qualquer dĂșvida, favor entrar em contato.
Mauricio Junior
Site: www.mauriciojunior.org
Comunidade: www.aspneti.com ou www.aspneti.com.br