1
resposta

Interpolação X Concatenação

Realizando o curso de C#, surgiu uma duvida/curiosidade sobre a junção de duas ou mais strings. Eu já conhecia a Concatenação Ex.: Console.Write("Text 1 " + 0.5 + " Text 2");

E também a Interpolação Ex.: Console.Write($"Text 1 {0.5} Text 2");

E pesquisando sobre o assunto, vi que existe ainda uma outra forma de montar um texto como o Verbating ou Verbating com Interpolação Ex.: Console.Write(@"Texto 1 Continuação do Texto 1");

OU

Console.Write(@$"Colaborador: {getColab} Idade: {getIdade}")

Porém não encontrei um texto que falasse sobre os impactos destes métodos no tempo de execução da aplicação, se um ocupa mais memória que outro, ou não, e são apenas formas diferentes de escrever um "mesmo" código, visando um código limpo. E caso aja diferença na execução, qual método é mais performático e por quê ?

1 resposta

Lucas,

Interessante.. nunca tinha ouvido falar de "Verbatim", a não ser a marca... KKKKK!

Você já viu o termo "placeholder"?

Tem razão, acho que ninguém ainda se preocupou em comparar performance nestas versões.

Segue links:

==========================================================

C#: concatenação, placeholder e interpolação (trabalhando com strings)

2 min de leitura

Data publicação: 2 de janeiro de 2020 por Fábio Almeida

class Program
{
        static void Main(string[] args)
        {
            string nome = "Fábio";
            string sobrenome = "Almeida";

           string nomeCompleto = 
                String.Format("Nome completo: {0} {1}", nome, sobrenome);

            Console.WriteLine(nomeCompleto);
            Console.ReadLine();
           }
}

https://criarprogramas.com/2020/01/02/c-concatenacao-placeholder-e-interpolacao-trabalhando-com-strings/

==========================================================

C# | Verbatim String Literal – @

Difficulty Level : Easy

Last Updated : 16 Oct, 2019

// C# program to illustrate
// the use of @ by using keyword
// as an identifier
using System;

public class GFG {

    // Main method
    static public void Main()
    {

        // Creating and initializing the array
        // here 'for' keyword is used as 
        // an identifier by using @ symbol
        string[] @for = {"C#", "PHP", "Java", "Python"};

                // as and for keywords is 
                // as an identifier
                // using @ symbol
                foreach (string @as in @for)
                {
                    Console.WriteLine("Element of Array: {0}", @as);
                }
    }
}

https://www.geeksforgeeks.org/c-sharp-verbatim-string-literal/#:~:text=In%20C%23%2C%20a%20verbatim%20string%20is%20created%20using,as%20a%20verbatim%20string%20and%20compile%20that%20string.

==========================================================

[]'s,

Fabio I.