前言
List转成字符串的总结的应用场景非常广泛,可以用于字符串拼接、数据处理和存储、显示等方面。它还可以用于格式化输出,以及将列表数据导出到文本文件等。
.NET实现List转字符串的方式主要有如下:
- for
- Linq
- String.Join
一、List转成字符串的总结
1.for
for循环是一种结构,它可以重复执行一系列语句,直到指定的条件不再满足。它通常用于遍历数组或字符串,或者在某个特定的条件被满足之前执行某项任务。
// C# string数组
using System.Diagnostics;
List<string> list = new List<string>(){"三体人","史强","宇宙闪烁","汪淼","低维展开"};
//---------------------------------------------------使用for循环------------------------------------------------
Stopwatch sw = new Stopwatch();
sw.Start();
string result = "";
for (int i = 0; i < list.Count; i++)
{
result = result + list[i] + ",";
}
sw.Stop();
Console.WriteLine($"程序耗时:{sw.ElapsedMilliseconds}ms.");
Console.WriteLine("循环方式实现结果: " + result);
//去掉最后一个","使用TrimEnd。
Console.WriteLine("循环方式实现结果: " + result.TrimEnd(','));
2.String.Join
String.Join 是 .NET Framework 中的一个静态方法,其功能是将一个字符串数组中的所有字符串连接起来,形成一个新的字符串,并用一个分隔符来分隔每个字符串。
// C# string数组
using System.Diagnostics;
List<string> list = new List<string>(){"三体人","史强","宇宙闪烁","汪淼","低维展开"};
//---------------------------------------------------使用String.Join------------------------------------------------
Stopwatch sw = new Stopwatch();
sw.Start();
string result = String.Join(",", list);
sw.Stop();
Console.WriteLine($"程序耗时:{sw.ElapsedMilliseconds}ms.");
Console.WriteLine("String.Join方式实现结果: " + result.TrimEnd(','));
3.Linq
// C# string数组
using System.Diagnostics;
List<string> list = new List<string>(){"三体人","史强","宇宙闪烁","汪淼","低维展开"};
//---------------------------------------------------使用String.Join------------------------------------------------
Stopwatch sw = new Stopwatch();
sw.Start();
string result = list.Aggregate("", (current, s) => current + (s + ","));
sw.Stop();
Console.WriteLine($"程序耗时:{sw.ElapsedMilliseconds}ms.");
Console.WriteLine("String.Join方式实现结果: " + result.TrimEnd(','));
linq用聚合函数的方式来实现累加,聚合函数里是一个委托。
总结
对于已三三种方式的总结
- for:性能比较好,但是相对比较复杂,代码量多
- String.Join:性能比较好,简单
- Linq:性能比较差,简单