将列表转换为逗号分隔的字符串

时间:2013-02-19 14:25:41

标签: c# .net

我的代码如下:

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

15 个答案:

答案 0 :(得分:260)

享受!

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

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

答案 1 :(得分:62)

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

var str = String.Join(",", lst);

答案 2 :(得分:24)

使用String.Join

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

使用Linq Aggregation

lst .Aggregate((a, x) => a + "," + x);

答案 3 :(得分:9)

按照:

       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()));

答案 4 :(得分:7)

如果您有一组整数:

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

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

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

享受!

答案 5 :(得分:3)

          @{  var result = string.Join(",", @user.UserRoles.Select(x => x.Role.RoleName));
              @result

           }

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

答案 6 :(得分:2)

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

示例:

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());

答案 7 :(得分:2)

  

如果您使用的是.NET framework&gt;,可以使用String.Join。 4.0。

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

答案 8 :(得分:1)

尝试

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

HTH

答案 9 :(得分:1)

我们可以尝试用逗号分隔列表内容

string stations = 
haul.Routes != null && haul.Routes.Count > 0 ?String.Join(",",haul.Routes.Select(y => 
y.RouteCode).ToList()) : string.Empty;

答案 10 :(得分:0)

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

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

你可以使用StringUtils类,它有一个名为join的函数。要使用StringUtils类,你需要使用common-lang3.jar

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

供参考,请参阅此链接http://techno-terminal.blogspot.in/2015/08/convert-collection-into-comma-separated.html

答案 11 :(得分: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);}

Convert a list of string to comma separated string C#

答案 12 :(得分: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()));

答案 13 :(得分:0)

categories = ['sprots', 'news'];
categoriesList = ", ".join(categories)
print(categoriesList)

这是输出: 新闻,新闻

答案 14 :(得分: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);