Es una pregunta simple; Soy un novato en C #, ¿cómo puedo realizar lo siguiente?
yo tengo
int[] arr = new int[5] {1,2,3,4,5};
Quiero convertirlo a una cadena
string => "1,2,3,4,5"
var result = string.Join(",", arr);
Esto usa la siguiente sobrecarga de string.Join
. string.Join
:
public static string Join(string separator, IEnumerable values);
.NET 4
string.Join(",", arr)
.NET anterior
string.Join(",", Array.ConvertAll(arr, x => x.ToString()))
int[] arr = new int[5] {1,2,3,4,5};
Puedes usar Linq para eso
String arrTostr = arr.Select(a => a.ToString()).Aggregate((i, j) => i + "," + j);
Puede tener un par de métodos de extensión para facilitar esta tarea:
public static string ToDelimitedString(this IEnumerable lst, string separator = ", ") { return lst.ToDelimitedString(p => p, separator); } public static string ToDelimitedString(this IEnumerable lst, Func selector, string separator = ", ") { return string.Join(separator, lst.Select(selector)); }
Entonces ahora solo
new int[] { 1, 2, 3, 4, 5 }.ToDelimitedString();
Use el método LINQ Aggregate
para convertir una matriz de enteros en una cadena separada por comas
var intArray = new []{1,2,3,4}; string concatedString = intArray.Aggregate((a, b) =>Convert.ToString(a) + "," +Convert.ToString( b)); Response.Write(concatedString);
salida será
1,2,3,4
Esta es una de las soluciones que puede usar si no tiene .net 4 instalado.