DICAS .NET

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

Coalescing Operador C# ?? null

por Mauricio Junior em 1/1/2011 0

 

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.


Livros publicados



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


voltar   comente  subir

Download Copy





 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:


Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Event Log Parte II - Visual Studio.NET 2005
Criando Email Modelo no Mail - MacBook
Criando RSS
Pegando IP da Máquina com CSharp
Inserindo no Sql Server
Vídeo - iGas - Sistema de Gasolina Mobile
Microsoft Mobile Explorer 3.0
Sistema de Login – Parte IV
Mensagem JavaScript com .NET
Dica para buscar nome de tabelas ou stored procedures dentro do banco de dados
Orientação a Objetos - Microsoft PetShop 3.0
CES 2008: Keynote do Bill Gates
Detectando Browser Mobile
Vídeo: Windows Phone com Windows Mobile 7
Sistema de Login com ASP 3.0 usando três camadas – Parte I
Customizando o Membership e Role Provider
Vídeo - Criptografia e Descriptografia
ReportViewer sem DataSet Tipado e gerando PDF
Permissão de Página Utilizando Web.Config
Propaganda Microsoft - Vemos como será e não como é.
Fazer Log, precisa ou não precisa?
Samsung em NYC
Vídeo - Teste do Windows 7 RC
Alongar é preciso
ASP.NET 4.0 and Visual Studio 2010 Web Development Beta 2 Overview
Vídeo Sobre Atributes e String Builder com Visual Studio .NET 2005
O segredo de utilizar ModalPopupExtender
Generics na prática
Trabalhando com GridView e BoundField escondido
Public Interface
Visual SourceSafe
Litl um computador web
Windows Phone no Brasil
E-mail Carta de Amor - Vírus
Dica Importante SQL Server 2008 Management Studio




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Notebook 3D ou 4K?

Notebook vem com tudo...

Visão do Futuro - Day of Glass 2

Futuro próximo pode chegar cedo?...

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...




NETITC