Mon code est comme ci-dessous:
public void ReadListItem()
{
List<uint> lst = new List<uint>() { 1, 2, 3, 4, 5 };
string str = string.Empty;
foreach (var item in lst)
str = str + item + ",";
str = str.Remove(str.Length - 1);
Console.WriteLine(str);
}
Sortie: 1,2,3,4,5
Quel est le moyen le plus simple de convertir le List<uint>
en une chaîne séparée par des virgules?
Prendre plaisir!
Console.WriteLine(String.Join(",", new List<uint> { 1, 2, 3, 4, 5 }));
String.Join prendra une liste en tant que second paramètre et joindra tous les éléments en utilisant la chaîne passée en tant que premier paramètre en une seule chaîne.
Vous pouvez utiliser String.Join method pour combiner des éléments:
var str = String.Join(",", lst);
Utiliser String.Join
string.Join<string>(",", lst );
Utilisation de Linq
Aggregation
lst .Aggregate((a, x) => a + "," + x);
Suivez ceci:
List<string> name = new List<string>();
name.Add("Latif");
name.Add("Ram");
name.Add("Adam");
string nameOfString = (string.Join(",", name.Select(x => x.ToString()).ToArray()));
Si vous avez une collection d'ints:
List<int> customerIds= new List<int>() { 1,2,3,3,4,5,6,7,8,9 };
Vous pouvez utiliser string.Join
pour obtenir une chaîne:
var result = String.Join(",", customerIds);
Prendre plaisir!
@{ var result = string.Join(",", @user.UserRoles.Select(x => x.Role.RoleName));
@result
}
J'ai utilisé dans MVC Razor View pour évaluer et imprimer tous les rôles séparés par des virgules.
Vous pouvez vous reporter ci-dessous à un exemple pour obtenir un tableau de chaînes séparé par des virgules à partir de la liste.
Exemple:
List<string> testList= new List<string>();
testList.Add("Apple"); // Add string 1
testList.Add("Banana"); // 2
testList.Add("Mango"); // 3
testList.Add("Blue Berry"); // 4
testList.Add("Water Melon"); // 5
string JoinDataString = string.Join(",", testList.ToArray());
Vous pouvez utiliser String.Join pour cela si vous utilisez .NET Framework> 4.0.
var result= String.Join(",", yourList);
Nous pouvons essayer comme ceci de séparer les entrées de liste par virgule
string stations =
haul.Routes != null && haul.Routes.Count > 0 ?String.Join(",",haul.Routes.Select(y =>
y.RouteCode).ToList()) : string.Empty;
Essayer
Console.WriteLine((string.Join(",", lst.Select(x=>x.ToString()).ToArray())));
HTH
vous pouvez utiliser google-collections.jar qui a une classe utilitaire appelée Joiner
String commaSepString=Joiner.on(",").join(lst);
ou
vous pouvez utiliser la classe StringUtils dont la fonction est appelée join.Pour utiliser la classe StringUtils, vous devez utiliser common-lang3.jar
String commaSepString=StringUtils.join(lst, ',');
pour référence, consultez ce lien http://techno-terminal.blogspot.in/2015/08/convert-collection-into-comma-separated.html
vous pouvez également remplacer ToString () si votre élément de liste comporte plus d'une chaîne
public class ListItem
{
public string string1 { get; set; }
public string string2 { get; set; }
public string string3 { get; set; }
public override string ToString()
{
return string.Join(
","
, string1
, string2
, string3);
}
}
pour obtenir une chaîne csv:
ListItem item = new ListItem();
item.string1 = "string1";
item.string2 = "string2";
item.string3 = "string3";
List<ListItem> list = new List<ListItem>();
list.Add(item);
string strinCSV = (string.Join("\n", list.Select(x => x.ToString()).ToArray()));
static void Main(string[] args){
List<string> listStrings = new List<string>() { "C#", "Asp.Net", "SQL Server", "PHP", "Angular" };
string CommaSeparateString = GenerateCommaSeparateStringFromList(listStrings);
Console.Write(CommaSeparateString);
Console.ReadKey();}
private static string GenerateCommaSeparateStringFromList(List<string> listStrings){return String.Join(",", listStrings);}
Convertit une liste de chaînes en chaînes séparées par des virgules C #