Busca online em todo site:
Heroes

Você não está logado, deseja logar na comunidade? clique aqui.




Título do Artigo

Coalescing Operador C# ?? null


Data Publicação: 26/9/2007 11:35:16
Total de visualizações: 2917

comente
 


 

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




Total de visualizações: 2917
voltar   comente  subir

Autor:


Por:Mauricio Junior
Maurício Júnior
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 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.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.orgSite pessoal  www.mauriciojunior.org


Comentários:


Comente (dê sua opinião): VOCÊ PRECISA ESTAR LOGADO

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

Dados via Post no VS 2005
Conecte - netBOOKS
Coalescing Operador C# ?? null
Sistema de Login em ASP – Parte III
IsData
WebService utilizando soapHeader e token
Vídeo: Série Atlas.NET - Parte III
Ajax com Visual Studio.NET 2005
Sistema de Login – Parte IV
Google e Amazon
SQL Dinâmico Compilado
Sistema de Login em ASP Utilizando três camadas - Parte VIII
Formatando String rapidamente
Generics usando Object DataSource
Problemas no sistema de busca
Dll Ajax
Sistema de Login em ASP – Parte VII (Utilizando três camadas)
Criando XML a partir do DataSet Tipado com Visual Studio.NET 2005 – Parte I
Visualizar no Próprio Mail (Macbook)
Lendo Arquivo txt usando Visual Studio.NET 2005
Um desejo de felicidade
Forum utilizando VS 2005 e Ajax
IsWholeNumber
GMaps com ASP.NET
Integração é necessário
Usando Tooltip
Validator no VS 2005
MinimizeBox no Celular
ASP.NET 4.0 and Visual Studio 2010 Web Development Beta 2 Overview
Vírus do Serasa por E-mail
Framework SkyMenu
Gerando word com Visual Studio.NET 2005
Como fechar todos os forms de um aplicativo para dispositivo móvel
Vídeo Live Search
Criando Pastas no Mail com o Macbook

Publicidade:

[sumir] [aparecer]
NETITC




Informações Online:

Usuários Online: 525
Artigos:  649
Vídeos:  47
PodCast's:  31
Fórum:  3098
Empregos:  1223
Usuários Cadastrados: 5779

Categoria de Artigos

Vídeos

Enquete - Dê sua opinião

 Os podcasts tem sido proveitoso pra você?

 

Colaboradores

Foto Autor autor: Mauricio Junior   
publicou 377 artigo(s).
Foto Autor autor: Júlio Battisti   
publicou 51 artigo(s).
Foto Autor autor: Fabio Galante Mans   
publicou 28 artigo(s).
Foto Autor autor: Kleber Becerra   
publicou 10 artigo(s).
Foto Autor autor: Ramon Durães   
publicou 6 artigo(s).
Foto Autor autor: Ebenézer de Souza   
publicou 5 artigo(s).
Foto Autor autor: Fabio Aguiar   
publicou 4 artigo(s).
NETITC