Tag: c#

  1. Contando quantidade de ocorrências de um caracter dentro de uma string

    Vamos supor que eu queira saber quantos caracteres "?" eu tenho na string abaixo: string texto = "!@3??1?1??3234asds"; Simples pra caramba usando LINQ: string texto = "!@3??1?1??3234asds"; int quantidade = texto.Count(s => s == '?'); Que tal? Quer ganhar 15% de desconto pra gastar na Casa…

    em .net c# linq

  2. Pra que servem partial classes?

    Quem mexe ou já mexeu com aplicações do tipo Windows Forms provavelmente já viu código parecido com esse: public partial class Form1 : Form { //código da classe aqui } Essa classe está marcada como partial. Mas e daí, o que isso significa? Basicamente, significa que você pode definir uma classe em dois…

    em .net c#

  3. Qual a diferença de se usar string ou String?

    Essa é uma pergunta que já ouvi de vários alunos. No código que é gerado pelo compilador não há diferença nenhuma. Afinal, string e String apontam para a classe System.String e o resultado e a performance são as mesmas. Porém, temos algumas pequenas diferenças: -Quando for usar Reflection, dá…

    em .net c#

  4. Chamando outro construtor dentro da mesma classe

    Vamos supor que temos a seguinte classe: public class Usuario { public int Id { get; set; } public string Nome { get; set; } public string Senha { get; set; } public string Endereco { get; set; } public int Matricula { get; set; } } E queremos que, toda vez que alguém vá criar uma instância de Usuario, essa pessoa…

    em .net c#

  5. Pra que serve o operador "??" no C#?

    Lendo o código de um projeto hoje, me deparei com o seguinte trecho de código: Produto novoProduto = produtoAntigo ?? new Produto(); E, sinceramente, não sabia pra que servia esses dois "??" aí. Fui então pesquisar que esse cara é um tal de null-coalescing operator. O que ele faz nesse trecho de código…

    em .net c#

  6. Qual a diferença entre float, double e decimal?

    Basicamente, precisão. Float: 7 dígitos(32-bit) Double: 15-16 dígitos(64-bit) Decimal: 28-29 dígitos(128-bit) Float e double trabalham com arredondamento de valores. Por essa razão, são recomendados quando você não se importa se houver um arredondamentos aqui ou ali. São bastante usados para cálculos científicos. Com decimal é diferente: usamos…

    em .net c#

  7. Definindo o tipo do parâmetro na rota

    A forma mais simples de se fazer customização de rotas no MVC é usando a anotação Route: public class HomeController : Controller { [Route("home/metodo/{param}")] public ActionResult Metodo(string param) { //faz algo } } Agora, e se por alguma razão eu precisasse ter dois métodos com o mesmo nome, mas recebendo tipos…

    em .net c# ASP.NET MVC 5

  8. Criando HTML helpers customizados

    O Html Helper do ASP.NET MVC é muito útil, não é? Eu particulamente gosto dele. Mas às vezes precisamos de mais. Precisamos de algo diferente. Vou te mostrar duas formas de fazer um Helper customizado. Criando seu próprio Helper Vamos criar uma classe para um input customizado chamada CustomInput…

    em .net c# ASP.NET MVC 5

  9. As diferentes formas de se fazer e tratar um cast

    Alguns dias atrás, escrevi sobre a diferença entre cast e convert. Agora, vamos supor que eu tenha essas duas classes: public class Animal { //atributos e métodos de Animal } public class Cachorro : Animal { //atributos e métodos de Cachorro } public class Gato : Animal { //atributos e métodos de Gato } E que eu tenha…

    em .net c#

  10. O que acontece quando usamos o bloco using?

    Quando vamos inicializar um tipo no C#, podemos fazer da seguinte forma: using(MeuTipo tipo = new MeuTipo()) { } Esse é o famoso bloco using do C#. Não confunda com o using que colocamos para os namespaces no início de arquivos. Nesse nós estamos inicializando um objeto e dentro das chaves temos…

    em .net c#

  11. O que faz a visibilidade internal? O que é um assembly?

    Quando criamos uma classe no C# sem definir um modificador de acesso(geralmente public): class NomeDaClasse { } O modificador de visibilidade padrão é o internal. Uma classe internal só pode ser "vista" dentro do assembly que ela faz parte. O que é um assembly? Basicamente, um assembly é o arquivo que…

    em .net c#

  12. Pra que declarar uma variável usando var?

    No C#, temos duas formas de declarar uma variável. Assim: int numero = 42; Ou assim: var numero = 42; Mas qual a diferença? A performance é melhor? Var é dinâmico? Não e não. A performance é a mesma. Em tempo de compilação, o compilador infere qual é o tipo que você…

    em .net c#

  13. Qual a diferença entre cast e convert?

    Já me perguntaram isso algumas vezes e eu mesmo já fiquei na dúvida de como explicar. Cast Vamos pegar como exemplo a classe Funcionario: public class Funcionario { //atributos e métodos } E a classe Programador, que herda de Funcionario: public class Programador : Funcionario { //atributos e métodos } Agora, vamos olhar o seguinte…

    em .net c#

  14. Qual a diferença de usar && ou & em um if? || ou |? Como fazer um if ternário?

    Estamos acostumados à escrever ifs dessa forma: if (condicao && outraCondicao) { //faz algo } if (condicao || outraCondicao) { //faz algo } Mas, dá pra trocar os && e || por & e |: if (condicao & outraCondicao) { //faz algo } if (condicao | outraCondicao) { //faz algo } Mas qual a diferença? Operadores de curto circuito Vamos…

    em c# java

  15. Voltando no tempo: como eu aprendi a fazer CRUDs com DAL e BLL(ou: Como você não deve fazer CRUDS hoje em dia)

    Hoje me perguntaram se tenho um artigo falando sobre BLL e DAL com ADO.NET puro. E não, eu não tenho. E isso me fez pensar em como eu mudei minha forma de escrever software ao longo dos anos. Decidi então perder 40 minutos da minha vida e fazer um…

    em ASP.NET c# arquitetura

  16. O que acontece quando eu uso o RedirectToAction no ASP.NET MVC?

    Vamos supor que eu tenha um Controller com uma Action que lista usuários: public class UsuarioController: Controller { [HttpGet] public ActionResult Index() { //código para fazer listagem de usuários return View(); } } Retornando uma View Quando eu abro o navegador e digito a url http://meusiteficticeo.com.br/usuario/index o que acontece…

    em web c# ASP.NET MVC 5

  17. Criando anotações de validação no ASP.NET MVC

    Quando desenvolvemos software nunca podemos confiar totalmente nos dados que o usuário nos informar. É aí que entra a validação de dados. No ASP.NET MVC, uma das formas mais legais de se fazer validação é através de anotações. Vamos usar como exemplo a classe Funcionario: public class Funcionario { public…

    em ASP.NET c#

  18. Passando uma string simples para a WEB API

    Estou escrevendo esse post somente para documentar algo que precisei fazer hoje e parecia simples e no final não era tão trivial como eu imaginava. Teve uma vez que precisei hostear uma Web API fora do IIS também e documentei aqui. Mas vamos lá! Por uma razão X, preciso que…

    em Web API web c#