Преобразовать список в разделяемую запятыми строку
Мой код выглядит следующим образом:
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);
}
Выход: 1,2,3,4,5
Каков самый простой способ преобразования List<uint>
в строку, разделенную запятыми?
Ответы
Ответ 1
Наслаждайтесь!
Console.WriteLine(String.Join(",", new List<uint> { 1, 2, 3, 4, 5 }));
String.Join возьмет список как второй параметр и соедините все элементы, используя строку, переданную в качестве первого параметра в один одиночная строка.
Ответ 2
Вы можете использовать метод String.Join для объединения элементов:
var str = String.Join(",", lst);
Ответ 3
Используя String.Join
string.Join<string>(",", lst );
Используя Linq
Aggregation
lst .Aggregate((a, x) => a + "," + x);
Ответ 4
Следуйте этому:
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()));
Ответ 5
Если у вас есть коллекция целых:
List<int> customerIds= new List<int>() { 1,2,3,3,4,5,6,7,8,9 };
Вы можете использовать string.Join
чтобы получить строку:
var result = String.Join(",", customerIds);
Наслаждайтесь!
Ответ 6
@{ var result = string.Join(",", @user.UserRoles.Select(x => x.Role.RoleName));
@result
}
Я использовал в MVC Razor View для оценки и печати всех ролей, разделенных запятыми.
Ответ 7
Ниже приведен пример для получения массива строк, разделенных запятыми, из списка.
Пример:
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());
Ответ 8
Вы можете использовать String.Join для этого, если вы используете .NET framework > 4.0.
var result= String.Join(",", yourList);
Ответ 9
Попробуйте
Console.WriteLine((string.Join(",", lst.Select(x=>x.ToString()).ToArray())));
НТН
Ответ 10
Мы можем попробовать сделать это, чтобы разделить список через запятую
string stations =
haul.Routes != null && haul.Routes.Count > 0 ?String.Join(",",haul.Routes.Select(y =>
y.RouteCode).ToList()) : string.Empty;
Ответ 11
вы можете использовать google-collections.jar, который имеет класс утилиты, называемый Joiner
String commaSepString=Joiner.on(",").join(lst);
или
вы можете использовать класс StringUtils, который имеет функцию, называемую join.To использовать класс StringUtils, вам нужно использовать common-lang3.jar
String commaSepString=StringUtils.join(lst, ',');
для справки, ссылайтесь на эту ссылку http://techno-terminal.blogspot.in/2015/08/convert-collection-into-comma-separated.html
Ответ 12
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);}
Преобразовать список строк в строку с разделителями-запятыми С#
Ответ 13
Вы также можете переопределить ToString(), если ваш элемент списка имеет более одной строки
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);
}
}
чтобы получить строку 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()));