VAGAS DE EMPREGO

balta.io balta.io
  • Cursos
  • Carreiras
  • Para sua Empresa
  • Livros
    • Background Services
    • Blazor com .NET 8
    • Segurança em APIs
    • Futuro do C# 12
    • Nullable Types
    • Clean Code
  • Blog

Seja Premium
balta.io

  • Cursos
  • Carreiras
  • Para sua Empresa
  • Agenda
  • Livros
    • Background Services
    • Blazor com .NET 8
    • Segurança em APIs
    • Futuro do C# 12
    • Nullable Types
    • Clean Code
  • Blog
  • Player
Seja Premium

Entre ou Cadastre-se

  • Home
  • Artigos
  • Arrays monodimensionais e multidimensionais no C#


👉 Temos uma versão mais atualizada deste artigo no nosso novo Blog

Arrays monodimensionais e multidimensionais no C#

Sumário

  1. Introdução

  2. Array monodimensional (Vetor)

    2.1. Declarando o vetor

    2.2. Inicializando o vetor

    2.3. Lendo itens o vetor

    2.4. Percorrendo o vetor

  3. Array multidimensional (Matriz)

    3.1. Declarando a matriz

    3.2. Inicializando a matriz

    3.3. Lendo itens da matriz

    3.4. Percorrendo a matriz

  4. Agora é com você

  5. Continue lendo

  6. Cursos relacionados

  7. Referências

Introdução

Os arrays são representações de listas no C#. Eles podem ser compostos por um conjunto de itens do mesmo tipo e podem ser manipulados ao apontar a posição desejada.

Este artigo tem o objetivo de introduzir ao uso de arrays monodimensionais (também conhecidos como vetores) e multidimensionais (também conhecidos como matrizes) passando por declaração, inicialização, leitura e manipulação.

Array monodimensional (vetor)

square-horizontal-list

Declarando o vetor

O array monodimensional, também conhecido como vetor, é uma lista simples que pode ser declarada da seguinte forma:

var monodimensionalArray = new int[10];

É preciso lembrar que os arrays no C# tem a posição inicial como zero. Sendo assim, um array de 10 elementos fica com as posições: 0, 1, 2... 8, 9.

O C# uma linguagem tipada e isto implica que, uma vez definido o tipo do array, apenas valores do mesmo tipo serão aceitos.

Inicializando o vetor

O array pode ser inicializado na declaração:

var monodimensionalArray = new int[10] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

Ou posteriormente adicionando valor a cada posição:

monodimensionalArray[0] = 61;

O valor entre colchetes representa a posição do array que deve receber o valor. No exemplo acima, a posição zero está recebendo o valor 61, ou seja, ao lermos a primeira posição do nosso array teremos 61 como retorno.

Lendo itens do vetor

Ler o valor de um elemento do array é bem simples. Basta chamar o array e entre colchetes passar a posição que desejamos:

Console.WriteLine($"{monodimensionalArray[0]}")

E assim teremos como saída no console o valor da posição indicada.

Percorrendo o vetor

Nós podemos utilizar tanto a instrução for quanto a instrução foreach para percorrer o nosso array e declararmos uma ação cada vez que chegarmos em uma posição diferente.

Primeiro vamos atribuir valores para cada posição do nosso array:

for (var item = 0; item < monodimensionalArray.Length; item++)
    monodimensionalArray[item] = item;

No exemplo acima, para cada posição do nosso array, o valor desta posição (representada por monodimensionalArray[item]) é atribuido com o número da posição no array. Ou seja: A posição zero recebe o valor 0, a posição um recebe o valor 1 e assim por diante.

Nos exemplos abaixo, o array é percorrido e o valor armazenado em cada posição é exibido no console:

for (var item = 0; item < monodimensionalArray.Length; item++)
    Console.WriteLine(monodimensionalArray[item]);

Simplificando com foreach:

foreach (var item in monodimensionalArray)
    Console.WriteLine(monodimensionalArray[item]);

Nota 1: Nos casos em que se faça necessário copiar um array, opte sempre pelo método .Clone(). Usar = com arrays apenas cria uma nova referência para os mesmos elementos, e a edição de um elemento pode acabar modificando os "dois" arrays.

Array multidimensional (matriz)

Um array multidimensional (matriz) é uma tabela, podendo ser exemplificado graficamente assim (matriz 3x2):

square-table

Declarando a matriz

Podemos declarar a matriz acima como um array multidimensional 3x2:

var rows = 3;
var columns = 2;

var multidimensionalArray = new int[rows,columns];

Ou de forma mais direta:

var multidimensionalArray = new int[3,2];

Inicializando a matriz

A matriz pode ser inicializada na declaração, variando de acordo com a dimensão da matriz:

var multidimensionalArray = new int[3,2] { {16,52}, {91,43}, {77,28} };

Ou posteriormente adicionando valor a cada posição assim como mostrado na matriz monodimensional:

multidimensionalArray[0,0] = 16; // primeira linha, coluna um
multidimensionalArray[0,1] = 52; // primeira linha, coluna dois
multidimensionalArray[1,0] = 91; // segunda linha, coluna um
multidimensionalArray[1,1] = 43; // segunda linha, coluna dois
multidimensionalArray[2,0] = 77; // terceira linha, coluna um
multidimensionalArray[2,1] = 28; // terceira linha, coluna dois

Observe que, diferente do vetor, atribuir valor à matriz exige que seja declarada a linha e coluna do item que está recebendo valor.

Lendo itens da matriz

Ler o valor de um item de uma matriz é tão simples quanto ler de um vetor. Basta chamar a matriz e entre colchetes passar a linha e coluna que desejamos:

Console.WriteLine(multidimensionalArray[0,0]);

E assim teremos como saída no console o valor da posição indicada.

Percorrendo a matriz

Com a nossa matriz definida, vamos percorrer os elementos utilizando a instrução foreach para exibir o valor dos elementos no console:

foreach (var item in multidimensionalArray)
    Console.WriteLine($"{item}");

Agora é com você

Para exercitar o que foi mostrado neste artigo, podem ser feitos outros exemplos com vetores de objetos e matrizes com 2+ dimensões. Exibir e percorrer graficamente um vetor ou matriz também pode ser de grande aprendizado, considerando que envolve mais complexidade do que apenas declarar e percorrer matrizes em um contexto estático.

Continue lendo:

Criando projetos .NET via console

Números no C# e .NET

DateTime no C# e .NET

Cursos relacionados

Gratuito | Fundamentos do C#

Fundamentos do ASP.NET 6

Referências

Documentação da Microsoft

Populares

Priority Queue

Priority Queue ou fila prioritária é um tipo de lista inclusa no C# 10 que permite que seus itens...


Implicit Operators no C#

Implicit Operators permitem adicionar comportamentos de conversão a objetos Built In ou complexos...


ASP.NET 5 – Autenticação e Autorização com Bearer e JWT

Este artigo atualmente utiliza a versão 5.0.0-rc.1 do ASP.NET/.NET, o que significa que ainda não...


Clean Code - Guia e Exemplos

Saiba como manter seu código limpo (Clean Code) seguindo algumas práticas sugeridas pelo Robert C...


Git e GitHub - Instalação, Configuração e Primeiros Passos

Git é um sistema de controle de versões distribuídas, enquanto GitHub é uma plataforma que tem o ...


Compartilhe este artigo



Conheça o autor

Brewerton Santos

Brewerton Santos

Backend | Cloud | Community

Desenvolvedor de software e entusiasta de tecnologia da informação. Estruturando a carreira com base em tecnologias Microsoft e desenvolvimento open source.





3.156

Aulas disponíveis

294

horas de conteúdo

76.953

Alunos matriculados

53.576

Certificados emitidos





Comece de graça agora mesmo!

Temos mais de 21 cursos totalmente de graça e todos com certificado de conclusão.

Começar


Prefere algo mais Premium?

Conheça nossos planos



Premium anual

Compra única, parcelada em até
12x no cartão de crédito


12x R$

99

,79

=R$ 1.197,44
  • 1 ano de acesso
  • Acesso à todo conteúdo
  • Emissão de Certificado
  • Tira Dúvidas Online
  • 68 cursos disponíveis
  • 10 carreiras disponíveis
  • 161 temas de tecnologia
  • Conteúdo novo todo mês
  • Encontros Premium

Começar agora

Política de privacidade



Precisa de ajuda?

Dúvidas frequentes



  • Posso começar de graça?

    Sim! Basta criar sua conta gratuita no balta.io e começar seus estudos. Nós contamos com diversos cursos TOTALMENTE gratuitos e com certificado de conclusão.

  • Vou ter que pagar algo?

    Nós temos cursos gratuitos e pagos, porém você não precisa informar nenhum dado de pagamento para começar seus estudos gratuitamente conosco. Os cursos gratuitos são completos e com certificado de conclusão, você não paga nada por eles.

    Porém, caso queira algo mais Premium , você terá acesso à diversos benefícios que vão te ajudar ainda mais em sua carreira.

  • Por onde devo começar?

    Siga SEMPRE as nossas Carreiras , elas vão te orientar em todos os sentidos. Os cursos já estão organizados em categorias e carreiras para facilitar seu aprendizado.
    Nossa sugestão para aprendizado é começar pelo Backend e seguindo para Frontend e Mobile.

    • Backend
    • Frontend
    • Mobile

  • Os cursos ensinam tudo que preciso?

    Nenhum curso no mundo vai te ensinar tudo, desculpa ser sincero! Os cursos são uma base, eles fornecem por volta de 30% do que você precisa aprender, o resto é com você, com dedicação e MUITA prática.

  • O que eu devo estudar?

    Java ou .NET? Angular ou React? Xamarin ou Flutter? A resposta é simples e direta: "Você já sabe o básico?"

    Se você ainda não sabe BEM o básico, ou seja, os fundamentos, OOP, SOLID, Clean Code, está perdendo tempo estudando Frameworks ou até coisas mais avançadas como Docker. Foque nos seus objetivos primeiro.
    Agora se você está indeciso sobre qual Framework estudar, a boa notícia é que o mercado neste momento está bem aquecido e você tem várias oportunidade. Desta forma o que levaríamos em conta para tomar esta decisão seria:

    • Já sei o básico
    • O Framework/Tecnologia tem mercado onde eu estou (região)
    • O Framework/Tecnologia é utilizado em uma empresa onde quero atual
    • O Framework/Tecnologia resolve meu problema
    • Eu gosto de utilizar o Framework/Tecnologia

  • Estou pronto para estudar no balta.io?

    Com certeza! O primeiro passo é começar e você pode fazer isto agora mesmo!

    Começar de graça

Ainda tem dúvidas?





Assine nosso Newsletter

Receba em primeira mão todas as nossas novidades.

Cadastrar


balta.io

Sobre

  • Como funciona?
  • Seja Premium
  • Agenda
  • Blog
  • Todos os cursos

Cursos

  • Frontend
  • Backend
  • Mobile
  • Fullstack

Suporte

  • Termos de uso
  • Privacidade
  • Cancelamento
  • Central de ajuda

Redes Sociais

  • Telegram
  • Facebook
  • Instagram
  • YouTube
  • Twitch
  • LinkedIn
  • Discord