Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

O C# possui algum método que permite atribuir um array do tipo char a outro array do mesmo tipo sem precisar iterar sobre eles

Eu criei um console app bem simples que faz a atribuição de um vetor de caracteres a outro vetor usando o loop for para iterar sobre cada possicao, contudo gostaria de saber se exite um método no C# que simplifica essa tarefa.

Segue o código do algorítimo que eu criei Desde já agradeço.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {   
            //declara o vetor de teste do tipo char
            char[] teste = new char[4];


            //declara a string que será convertidas para char
            string testeString = "AC";

            //converte a string para um vetor do tipo char
            char[] testeStringToChar = testeString.ToCharArray();

            //itera sobre o vetor usando como condicao de parada o legth do vetor (teste) que será 
            //populado com os caracteres do vetor testeStringToChar e prenchido com o caracter '0' nas demais posicoes
            for (int x = 0; x < teste.Length; x++)
            {
                //se a posicao do vetor for menor que o tamanho do vetor que está sendo lido
                //atribui o caracter se não atribui '0'
                if(x < testeStringToChar.Length)
                {
                    teste[x] = testeStringToChar[x];
                }
                else
                {
                    teste[x] = '0';
                }

                Console.WriteLine("Caracter = " + teste[x]);
                // Saida 
                //Caracter = A
                //Caracter = C
                //Caracter = 0
                //Caracter = 0
            }

            Console.ReadLine();
        }
    }
}
4 respostas
solução!

Boa noite, Marlon! Como vai?

Dá uma olhada nesse link! Acho que o método CopyTo() que aparece na resposta é exatamente o que vc quer!

Grande abraço e bons estudos!

Olá Gabriel, Bom dia. Foi muito útil sua resposta, porém ainda tem um pequeno detalhe do problema apresentado que não foi atendido, quando a cópia do array é realizada as posições vazias do array lido devem ser preenchidas com o carácter ('0') no array resultante. Esta função (CopyTo) permite tal procedimento ?

Desde já agradeço

Ah sim! Nesse caso, só fazendo a iteração do jeito que vc fez mesmo!

Muito obrigado !!