前言
本文将介绍在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(','));
效果如下
方式二:使用String.Join
String.Join是C#中的一个静态方法,它可以用于将一个字符串数组或一个字符串集合(例如List<string>)中的所有字符串连接在一起。它接受两个参数:一个字符串,用于在每对字符串之间添加分隔符;和一个字符串数组或一个字符串集合。它的优点是实现复杂度低,仅仅需要一行代码,并且不需要处理尾巴。实现代码如下:
string result = String.Join(",", list);
Console.Write("String.Join方式实现结果: " + result.TrimEnd(','));
效果如下
方式三:使用Linq实现
linq实现更加简单,也是一行代码。代码如下:
string result = list.Aggregate("", (current, s) => current + (s + ","));
Console.Write("linq方式实现结果: " + result.TrimEnd(','));
效果如下
linq用聚合函数的方式来实现累加,聚合函数里是一个委托。
结语
本文讲述了C#三种方式实现List转字符串,并用案例实现。方法1使用循环,这种方式相对复杂,方法2和方法3比较简洁,推荐使用方法2。本文主要针对初学者,希望本文能帮助到他们。你们有更好的方法吗?欢迎留言。