201

我的代码如下:

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>将转换为逗号分隔字符串的最简单方法是什么?

4

15 回答 15

387

享受!

Console.WriteLine(String.Join(",", new List<uint> { 1, 2, 3, 4, 5 }));

第一个参数:","
第二个参数:new List<uint> { 1, 2, 3, 4, 5 })

String.Join将列表作为第二个参数,并使用作为第一个参数传递的字符串将所有元素连接成一个字符串。

于 2013-02-19T14:27:16.227 回答
79

您可以使用String.Join方法来组合项目:

var str = String.Join(",", lst);
于 2013-02-19T14:27:19.693 回答
29

使用String.Join

string.Join<string>(",", lst);

使用 LINQ 聚合:

lst .Aggregate((a, x) => a + "," + x);
于 2013-02-19T14:30:27.157 回答
11

如果您有一个整数集合:

List<int> customerIds= new List<int>() { 1,2,3,3,4,5,6,7,8,9 };  

您可以使用string.Join获取字符串:

var result = String.Join(",", customerIds);

享受!

于 2017-08-18T09:43:56.873 回答
10

按照这个:

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()));
于 2015-04-11T06:59:49.907 回答
5

您可以参考以下示例从列表中获取逗号分隔的字符串数组。

例子:

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());
于 2016-03-23T16:37:52.207 回答
5

如果您使用的是 .NET framework> 4.0,则可以为此使用 String.Join。

var result= String.Join(",", yourList);
于 2017-02-12T12:27:05.630 回答
4
@{ var result = string.Join(",", @user.UserRoles.Select(x => x.Role.RoleName));
    @result
}

我在 MVC Razor View 中使用来评估和打印以逗号分隔的所有角色。

于 2015-09-30T10:14:46.793 回答
1

尝试

Console.WriteLine((string.Join(",", lst.Select(x=>x.ToString()).ToArray())));

高温高压

于 2013-02-19T14:37:22.890 回答
1

我们可以尝试这样用逗号分隔列表条目:

string stations = 
haul.Routes != null && haul.Routes.Count > 0 ?String.Join(",",haul.Routes.Select(y => 
y.RouteCode).ToList()) : string.Empty;
于 2017-02-19T09:37:06.213 回答
0
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);}

在 C# 中将字符串列表转换为逗号分隔的字符串

于 2017-06-17T11:10:31.883 回答
0

如果您的列表项有多个字符串,您还可以覆盖 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()));
于 2019-05-07T21:47:43.183 回答
0
categories = ['sprots', 'news'];
categoriesList = ", ".join(categories)
print(categoriesList)

这是输出:sprots, news

于 2020-01-10T09:56:39.113 回答
0

您可以用逗号分隔列表实体,如下所示:

//phones is a list of PhoneModel
var phoneNumbers = phones.Select(m => m.PhoneNumber)    
                    .Aggregate(new StringBuilder(),
                        (current, next) => current.Append(next).Append(" , ")).ToString();

// Remove the trailing comma and space
if (phoneNumbers.Length > 1)
    phoneNumbers = phoneNumbers.Remove(phoneNumbers.Length - 2, 2);
于 2020-06-03T18:18:48.397 回答
-1

您可以使用google-collections.jar,它有一个名为 Joiner 的实用程序类:

String commaSepString = Joiner.on(",").join(lst);

或者你可以使用 StringUtils 类,它有一个叫做join的函数。要使用 StringUtils 类,您需要使用 common-lang3.jar

String commaSepString=StringUtils.join(lst, ',');

作为参考,请参阅此链接将集合转换为逗号分隔字符串

于 2015-11-19T10:39:16.387 回答