Search code examples
c#string-interpolation

String.Join() with string interpolation for string array in C#


I had an issue on using string interpolation in string.join

    string type1 = "a,b,c";
    string[] type2 = new string[3] { "a", "b", "c" };

how to write the string.Join query, below code is just my attempt, but the result is not as expected.

    string result = string.Join(",", $"'{type1}'");

In both cases, the output should be 'a','b','c'

how to use string.Join() with string interpolation for an array of strings


Solution

  • If you want to add single quotes around each elements, you can apply a simple .Select() sequence, such as :

    var type1 = "a,b,c";
    var type2 = new string[3] { "a", "b", "c" };
    
    // using System.Linq;
    var result1 = string.Join(',', type1.Split(',').Select(x => $"'{x}'"));
    var result2 = string.Join(',', type2.Select(x => $"'{x}'"));
    
    Console.WriteLine($"Type1 : {result1}");
    Console.WriteLine($"Type2 : {result2}");
    

    This outputs :

    Type1 : 'a','b','c'
    Type2 : 'a','b','c'
    

    Fiddle