C#三种方式实现List转字符串

前言

    本文将介绍在C#中List转成字符串的三种实现方式,并使代码示例展示。这种转换主要场景用在行转成单独的一列,比如一对多的外键表读出单独一行数据需要在前端合并。本文代码示例用的是.NET7。

我们拿如下这个string类型的List列表来演示,代码如下:

// C# string数组
List<string> list = new List<string>(){ "刘备", "关羽", "张飞", "公众号", "dotnet开发跳槽”};

方式一:使用for循环

for是比较传统的实现方式,这种方式通过循环读取每条数据,然后用临时字符串拼接。代码如下:

string result = "";
for (int i = 0; i < list.Count; i++) {
    result = result + list[i] + ",";
}
Console.Write("循环方式实现结果: " + result);
//去掉最后一个","使用TrimEnd。
Console.Write("循环方式实现结果: " + result.TrimEnd(','));

效果如下

b0eba68b6618d2365182c252d7d6068f.png

方式二:使用String.Join

String.Join是C#中的一个静态方法,它可以用于将一个字符串数组或一个字符串集合(例如List<string>)中的所有字符串连接在一起。它接受两个参数:一个字符串,用于在每对字符串之间添加分隔符;和一个字符串数组或一个字符串集合。它的优点是实现复杂度低,仅仅需要一行代码,并且不需要处理尾巴。实现代码如下:

string result = String.Join(",", list);
Console.Write("String.Join方式实现结果: " + result.TrimEnd(','));

效果如下

db362512d11ad06e08a9512298129eca.jpeg

方式三:使用Linq实现

linq实现更加简单,也是一行代码。代码如下:

string result = list.Aggregate("", (current, s) => current + (s + ","));
Console.Write("linq方式实现结果: " + result.TrimEnd(','));

效果如下

3ece9096e90a49ef5ea8fa3291e906e1.png

linq用聚合函数的方式来实现累加,聚合函数里是一个委托。

结语

    本文讲述了C#三种方式实现List转字符串,并用案例实现。方法1使用循环,这种方式相对复杂,方法2和方法3比较简洁,推荐使用方法2。本文主要针对初学者,希望本文能帮助到他们。你们有更好的方法吗?欢迎留言。

版权声明:本文来源于网友收集或网友供稿,仅供学习交流之用,如果有侵权,请转告小编或者留言,本公众号立即删除。

技术群:添加小编微信并备注进群
小编微信:mm1552923   公众号:dotNet编程大全
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中,有多种方法可以拼接一个字符串列表(List<string>)。其中一种方法是使用String.Join方法。这个方法接受两个参数:一个字符串,用于在每对字符串之间添加分隔符,和一个字符串数组或一个字符串集合。以下是一个示例代码: List<string> list = new List<string>() { "Hello", "World", "C#" }; string result = String.Join(",", list); Console.WriteLine(result); 这段代码将会输出"Hello,World,C#",其中每个字符串之间用逗号分隔。\[2\] 另一种方法是使用字符串插值(String Interpolation)的方式。在C# 6.0及以上版本中,可以使用$符号来简化字符串的拼接操作。以下是一个示例代码: List<string> list = new List<string>() { "Hello", "World", "C#" }; string result = $"String.Join方式实现结果: {String.Join(",", list)}"; Console.WriteLine(result); 这段代码将会输出"String.Join方式实现结果: Hello,World,C#",其中使用了字符串插值的方式将拼接结果直接嵌入到字符串中。\[3\] #### 引用[.reference_title] - *1* [C# 字符串拼接](https://blog.csdn.net/qq_63585949/article/details/127197390)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [C#三种方式实现List字符串](https://blog.csdn.net/zls365365/article/details/129096059)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C#字符串拼接](https://blog.csdn.net/qq_37369706/article/details/105687522)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值