Curiosidades C# – Sintaxe de Inicialização de Array.

Podemos armazenar diversas variáveis do mesmo tipo em uma estrutura de dados tipo Array e quando inicializado, deve-se declarar seu tipo (int, string etc).

Em C# é possível preencher um array em sua inicialização. Para fazer isso é necessário especificar cada item dentro do escopo das chaves “{” e “}”.

Esta sintaxe pode ser muito útil quando está sendo criado um array de tamanho conhecido e desejamos especificar seus valores iniciais.

Exemplo:

using System;

namespace SintaxeInicializacaoArray
{
    class Program
    {
        static void Main(string[] args)
        {
            // => Using 'new"
            var arrayString_1 = new string[] { "First Name", "Middle Name", "Last Name" };
            foreach (var item in arrayString_1)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();

            // => Using just '{' and '}'
            // NOTE: this can not be use with the "var" keyword
            string[] arrayString_2 = { "First Name", "Middle Name", "Last Name" };
            foreach (var item in arrayString_2)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();

            // => Using 'new' ans size
            var arrayString_3 = new string[3] { "First Name", "Middle Name", "Last Name" };
            foreach (var item in arrayString_3)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();
        }
    }
}
/* This will print
First Name Middle Name Last Name
First Name Middle Name Last Name
First Name Middle Name Last Name
*/

É importante notar que se fizer uso do das chaves não é necessário especificar o tamanho do array em sua declaração. Este valor será inferido pelo número de valores declarado. Também não é necessário fazer uso da keyword new.

No último exemplo especificamos o tamanho do array, caso o número de elementos informados não coincida com o este valor, o compilador informa um erro de incompatibilidade.

Também podemos usar a keyword var para criar um array de forma implícita. Usando esta técnica você pode usar ‘new‘ sem especificar o tipo contido no array, estes serão determinador pelo compilador.

Exemplo:

using System;

namespace SintaxeInicializacaoArray
{
    class Program
    {
        static void Main(string[] args)
        {
            // => Implicit Inicialization
            var arrayString = new[] { "First Name", "Middle Name", "Last Name" }; // => String Array
            foreach (var item in arrayString)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();
            var arrayInt = new[] { 2, 4, 6, 8, 10 }; // => Int Array
            foreach (var item in arrayInt)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();
        }
    }
}
/* This will print
First Name Middle Name Last Name
2 4 6 8 10
*/

Qualquer dúvida ou dicas, entre em contato: leandrolt@gmail.com

Principais referências

– Livro: Pro C# 7: With .NET and .NET Core – Andrew Troelsen
– https://docs.microsoft.com/pt-br/dotnet/csharp/programming-guide/arrays/single-dimensional-arrays

Leave a Reply

Your email address will not be published. Required fields are marked *