Na verdade é um nome um pouco estranho , mais se você já teve a necessidade de atribuir valores null para variáveis (int , double , bool , char , int[] ), então significa que a classe Nullable poderá te ajudar bastante para resolver essas situações.
De uma forma bem simples , uma Nullable tem como objetivo permitir atribuir valores null a variáveis.
Entendendo um pouco mais do lado teórico podemos exemplificar da seguinte forma , uma Nullable<Int32> pronunciamos “Nullable de Int32” pode ser utilizada com valores através do arranjo -2147483648 to 2147483647 ou através do valor null. A Nullable<bool> pode ser utilizado os valores true ou false , ou null.
Do lado prático se tentarmosescrever o seguinte código . O que acontece ?
Inti = null ;// erro
Se tentando executar esse código com certeza irá te retornar o seguinte erro :
Cannot convert null to 'int' because it is a value type
Motivo do erro : Não é possível converter null para Int.
A Classe Nullable te dará todo suporte para lhe ajudar a resolver esses problemas. Para que possamos colocar em prática é necessário entender como podemos utilizá-la.
A Nullable pode ser utilizada de duas formas :
·System.Nullable<T> nomedavariavel
Ou
·T? nomedavariavel
A duas formas são bem simples de se aplicar, mais temos o segundo modelo como mais prático (T?). Abaixo estou listando alguns exemplos de como poderíamos colocar na prática.
int? i = 10;
double? d1 = 3.14;
bool? flag = null;
char? letter = 'a';
int?[] arr = newint?[10];
Propriedades
As Nullables possuem duas propriedades ready-only . São elas :
·HasValue
HasValue é do tipo booleano.Se a variável que estiver utilizando for null o valor desse propriedade será false senão ela será true.
Value
Retorna o valor da variável .
Devemos ter somente um cuidado, se a propriedade Value for igual a null será gerado uma exceção. Para resolver é necessário fazer uma validação de acordo com o código abaixo :
int? num = null;
decimal ? Valor = null;
// Verfica se está retornando null
if (num.HasValue == true)
{ // Retorna o valor da variavel num
System.Console.WriteLine("num = " + num.Value);
}
else
{
System.Console.WriteLine("num = Null");
}
Uma das necessidades de estarmos utilizando valores null muita das vezes são devido uma base de dados ou um tipo de dados que contém elementos que não podem ser inicializados sem ser atribuído algum valor.
Para concluirmos o nosso estudo , estou passando um código completo da utilização da Nullables e principalmente para que se torne referência para que possa utilizar nas suas aplicações.
classNullableExample
{
staticvoid Main()
{
// Inicializando variavel do tipo inteira com null. int? num = null;
// A váriavel num é null ?
if (num.HasValue == true)
{ // Retorna o valor da variavel num.
System.Console.WriteLine("num = " + num.Value);
}
else
{
System.Console.WriteLine("num = Null");
}
//Recupera o valor default da variavel num que será null.
int y = num.GetValueOrDefault();
// Se num.Value for igual a null então será retornado uma exceção do tipothrows an InvalidOperationException if num.HasValue is false
A Microsoft anunciou uma reformulação dos quadros executivos de sua deficitária divisão online, na quinta-feira, entregando um cargo vital a um profissional vindo de fora da empresa, antes da possível fusão com o Yahoo. Brian McAndrews, antigo presidente-executivo da aQuantive, uma empresa de publicidade digital adquirida pela Microsoft no ano passado, assumirá maiores responsabilidades na divisão de serviços online do grupo, entre as quais boa parte das funções do presidente da divisão, Steve Berkowitz, que deixará a empresa em agosto, anunciou o grupo em comunicado.
Embora a empresa tenha também promovido dois outros executivos a posto de comando na divisão, a reestruturação sugere para alguns que McAndrews, 47, provavelmente ocuparia um posto de comando na combinação entre a Microsoft e o Yahoo, caso este aceite a oferta de 41,8 bilhões de dólares apresentada pela Microsoft. "Se alguém é capaz de resolver os problemas do serviço online da Microsoft, é McAndrews", disse Matt Rosoff, analista da Directions on Microsoft, uma empresa independente. "Ele é a pessoa que tem mais experiência em publicidade, e a empresa dependerá pesadamente de seu trabalho."
Um porta-voz da Microsoft afirmou que as mudanças não estão relacionadas às negociações com o Yahoo, apontando que sete outros executivos também forma promovidos a vice-presidências. McAndrews, antigo executivo da rede de televisão ABC, deve desempenhar papel central na integração da plataforma de publicidade Yahoo à da Microsoft, e na criação de uma potência na publicidade online que consiga concorrer com o Google .
Ele comandou a aQuantive por sete anos, desenvolvendo relacionamentos com agências de publicidade, anunciantes e empresas de Internet. O Yahoo rejeitou a oferta não solicitada da Microsoft, alegando que ela subestima o valor da empresa. A Microsoft alega que a oferta é "completa e justa," mas os analistas esperam que ela eleve o preço para garantir o negócio.
Durante o periodo de Janeiro estive ministrando um treinamento Completo sobre C# , ASP.NET 2.0 e Windows Mobile 6 na Universidade do Estado do Ceará (UECE) através da empresa Junior (ACENS). Foi um excelente periodo de 90 hrs de curso, onde abordamos vários assuntos como as caracteristicas da linguagem C# , tecnicas de Orientação ao Objeto e ASP.Net 2.0.
Foi um curso bastante prático , utilizando a metodologia de Teoria e prática para cada assunto abordado.
Os alunos finalizaram o módulo de ASP.Net 2.0 com 90% da turma apresentando um projeto completo utilizando todos os recursos apresentados no curso. Demonstrando um excelente aproveitamento apresentado.
Abaixo alguns assuntos de um total dos 28 assuntos que expliquei no modulo de C#.
Introdução a Plataforma .NET
Variáveis
Conversão de tipos
Threads
Exceptions
Conceitos de orientação a objetos
Class
Partial Class
Interfaces
Classes Abstratas
Polimorfismo
herança
Sobrecarga
Generics
Gerando Componentes
Abaixo alguns dos assuntos que foi abordado no modulo de ASP.Net 2.0
Criando e Programando uma Aplicação Web
Criando e configurando uma aplicação Web
Adicionando e configurando controles do servidor
Criando event handlers para páginas e controles
Integrando Dados em uma Aplicação Web utilizando ADO.NET 2.0, XML, e Controles Ligados a Dados
Implementando controles ligados a dados.
Gerenciando conexões e transações em banco de dados
Criando, removendo e editando dados em um ambiente conectado
Personalizando uma Aplicação Web
Implementando um modelo de reuso em design com master pages
No final do curso tive a oportunidade de conversar com dois diretores da empresa ACENS Nino Giovanny e o Fabio Cerqueira que comentaram o que acharam do curso e do investimento.
Ficou interessado solicite uma proposta , que montarei um treinamento de acordo com a sua necessidade.
A microsoft disponibilizou 3 livros para serem baixados gratuitamentes, sobre assuntos bem atuais como : LINQ , ASP.NET AJAX e SILVERLIGHT 1.0 . Para fazer o download dos videos é só acessar : http://csna01.libredigital.com e entrar com seu Windows Live ID (Antigo Passaport).
**Aproveitem para visualizar os videos que coloquei na sessão SOAPBOX que fica ao lado da lista de livros indicados , lá tem alguns videos interessantes falando sobre o Visual Studio 2008 !
Bom aproveito!
Moacir Casemiro Microsoft Student Partners - Lead MCP , MCAD , MCTS
Vários amigos sempre me perguntam aonde poderão encontrar materiais sobre C# e de .Net .
Pois vou passar aqui no blog algumas sugestão que são voltadas para o site do MSDN.
No ano passado a Microsoft lançou o MSDN Experience composto por vários conteudos e provas de várias areas . Os conteudos são baseados em videos ministradas por MVP`s e de primeirissima qualidade.
Nesse link você poderá encontrar as informações que você precisa :
Mais uma palestra passou !! Dessa vez consegui tirar todas a minhas dúvidas sobre a utilização da nova ferramenta Windows Live Tools .
Foram apresentados um caso de estudo bem real demonstrando a realiadade e facilidade de utilizar dentro das nossas aplicações recursos Windows Live
Pontos bem interessantes apresentados foram :
Alto nivel de produtividade (Visual studio 2008)
A quantidade de recursos disponiveis na internet.
O crescimento da Web 2.0 é bastante visivel !
Muita facilidade para utilizar os recursos .
Suporte com códigos prontos para utilzar na internet no site http:\\dev.live.com.
A authenticação ser realizada diretamente pelo Windows Live ID (antigo Passport)
Para trabalhar com JavaScript cada vez se torna mais facil e produtivo devido a possibilidade de poder está debugando linha por linha(Visual Studio) .
No final da palestra tive uma conversa bem descontraida com André Furtado que assistiu juntamente comigo essa palestra , vamos lá ouvir um pouco dessa conversa.
Nessa palestra super inovadora ministrada pelo Cezar Guimarães e pelo Renê de Paula , que estão falando sobre os novos recursos para você está colocando nas suas aplicações conhecido como Windows Live Tools !!
Também durante a palestra foi falado bastante sobre a facilidade de Integração do Expression Blend com o Visual Studio 2008.
Formas de evitar conflitos entre o Design e o Developer trabalhando juntos .
Tive a oportunidade de conversar rapidinho com o Cezar Guimarães , que falou um pouco pra gente da palestra que ele ministrou !
Cezar , no momento inicial da sua palestra .
Renê e o Cezar , falando sobre Silverlith.
Renê explicando a possibilidade dos desenvolvedores e design poderem conversar melhor sem nehum atrapalhar o trabalho do outro ! Utilizando Xaml (ler Zemel) !
Essa foto apresentada pelo Renê simboliza o Design e Desenvolvedor trabalhando juntos e com o mesmo objetivo !Que é dificil de ver hehehe Acho que ele poderia ter usado um outro exemplo , mais tudo bem hehehehehe o que importa é o objetivo hehehe ! Com a galinha ou sem galinha heheh
Estou aqui na segunda palestra do dia na minha série de palestras que escolhi, lembrando que aqui no tech ed, temos várias palestras acontecendo ao mesmo tempo ! Mais para que você fique sabendo o que está acontecendo em todo o evento, estarei pegando alguns feedbacks sobre as outras palestras que estão acontecendo em paralelos !!
Nesse momento estou assistindo a palestra do Ramon Durães sobre os novos controles do Visual Studio 2008 !!
Para quem não conhece o Ramon ai vai algumas fotos momento antes de iniciar sua palestra !
Muitos novos recursos estão sendo apresentados e todos focando sempre para o lado da produtividade e do desempenho !
Vamos conhecer alguns dos novos recursos :
Tópicos que foram abordados !
Integração do ASP.NET AJAX/Debugger do Java Script
Integração métodos C# com funções Java Script
Surpresa Fernado cerqueira deu uma palavrinha sobre ASP.NET AJAX muito legal !! Para quem não conhece o Fernando ele é o criador do Masket Edit que vem disponivel no AJAX CONTROL TOOLKIT.
AJAX Control Toolkit 3.5 , já está no ar !!! Vários novos controles !
Integração do Ajax Control com os Web Controls
Integração de vários controles extender
Pacotes de controles novos (CTP)
Dynamics
Um novo recurso do Visual Studio 2008 , onde você pode ter várias tabelas com ou sem vários relacionamentos e a partir dai gerar várias paginas prontas com poucos cliques ! Pense na produtividade !
IIS 7.0
A nova versão do IIS veio no ano em que se completa 10 ano da sua existencia , uma coisa que poucos sabiam ! Durante a palestra tivemos vários recursos interessantes que foram abordados :
IIS 7.0 Novas oportunidades
Embutir cache em outras tecnologias como PHP
Facilidade no gerenciamento
Desenvolvedor pode está criando uma certificados digitais para teste , podendo utilizar como se tivesse em produção !
Então pessoal , para fechar essa primeira parte convidei o Ramon Durães para uma conversa bem rápida !!
Podemos falar que a melhor parte do evento começou hoje !
A partir de hoje teremos várias palestras acontecendo ao mesmo tempo, mais fiquem tranquilo que tentarei está passando o máximo de informações para todos vocês !!
Agora pela manhã assistimos a palestra do meu amigo Renato Guimarães que falou de vários novos recursos do Visual Studio 2008 com foco principal Linq !
Foram demonstrados vários exemplos e como sempre o nivel de produtividade falou bem alto !
Com isso deixa claro que a tendência é só falar de objetos , onde com o LINQ não iremos mais acessar diretamente a base de dados mais sim uma classe mapeada , que o próprio Visual Studio gera automáticamente .
Dica : Não deixem de baixar a versão beta do Visual Studio 2008 , já tá disponivel no site www.msdn.com.br !