264 votes

C# convertir un tableau d'entiers en chaîne de caractères séparée par des virgules.

C'est une question simple, je suis novice en C#, comment puis-je faire cela ?

convertir un tableau d'entiers en une chaîne de caractères séparée par des virgules

Tengo

int[] arr = new int[5] {1,2,3,4,5};

Je veux les convertir en une seule chaîne

string => "1,2,3,4,5"

515voto

Danny Chen Points 14781
var result = string.Join(",", arr);

Cela utilise la surcharge suivante de string.Join :

public static string Join<T>(string separator, IEnumerable<T> values);

130voto

leppie Points 67289

.NET 4

string.Join(",", arr)

.NET plus tôt

string.Join(",", Array.ConvertAll(arr, x => x.ToString()))

5voto

nawfal Points 13500

Vous pouvez disposer d'une paire de méthodes d'extension pour vous faciliter la tâche :

public static string ToDelimitedString<T>(this IEnumerable<T> lst, string separator = ", ")
{
    return lst.ToDelimitedString(p => p, separator);
}

public static string ToDelimitedString<S, T>(this IEnumerable<S> lst, Func<S, T> selector, 
                                             string separator = ", ")
{
    return string.Join(separator, lst.Select(selector));
}

Alors maintenant, juste :

new int[] { 1, 2, 3, 4, 5 }.ToDelimitedString();

3voto

sushil pandey Points 154

Utiliser LINQ Aggregate Méthode pour convertir un tableau d'entiers en une chaîne de caractères séparée par des virgules.

var intArray = new []{1,2,3,4};
string concatedString = intArray.Aggregate((a, b) =>Convert.ToString(a) + "," +Convert.ToString( b));
Response.Write(concatedString);

La sortie sera

1,2,3,4

C'est l'une des solutions que vous pouvez utiliser si vous n'avez pas installé .net 4.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X