首页 > 编程语言 >#yyds干货盘点#【愚公系列】2023年02月 .NET/C#知识点-List转成字符串的总结

#yyds干货盘点#【愚公系列】2023年02月 .NET/C#知识点-List转成字符串的总结

时间:2023-02-28 23:33:39浏览次数:49  
标签:知识点 Join String yyds C# List sw result 字符串

前言

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:性能比较差,简单

标签:知识点,Join,String,yyds,C#,List,sw,result,字符串
From: https://blog.51cto.com/u_15437432/6091872

相关文章

  • #yyds干货盘点#【愚公系列】2023年02月 .NET/C#知识点-区块链概念和实现
    前言区块链是一种分布式数据库,使用密码学技术进行安全的数据记录和验证。它可以被用来创建可信赖的记录,并确保记录不可篡改。区块链的原理其实是一个又一个区块组成的链条......
  • Shader入门精要笔记 - CH10.1_环境映射之折射
    折射:光线从一种介质进入另一种介质,传播方向会发生改变  Cubemap是在Teapot_Refract的位置拍摄的Shader"My/Tex2/RefractCubeMap"{Properties{......
  • 华硕 TUF GAMING FX504GE_FX80GE电脑 Hackintosh 黑苹果efi引导文件
    硬件型号驱动情况主板华硕FX504GE(HM370芯片组)处理器英特尔[email protected]四核已驱动内存16GBLPDDR4X3200MHz已驱动硬盘金士顿512G已驱动显卡IntelUHD630+N......
  • 1_JDBC概述
    JDBC概述什么是JDBC      JDBC(JavaDataBaseConnectivity, Java数据库连接),是一种用于执行SQL语句的JavaAPI,为多种关系数据库提供统一访问,它由一组用Java......
  • 1_JDBC概述
    JDBC概述什么是JDBC      JDBC(JavaDataBaseConnectivity, Java数据库连接),是一种用于执行SQL语句的JavaAPI,为多种关系数据库提供统一访问,它由一组用Java......
  • 重学C语言(纯代码)
    三子棋,由于game.c中board数组把行列固定了,只能设计三子棋,想要更改格数的话需要更换IsWin函数改成for循环main.c#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#inclu......
  • [CF282D] Yet Another Number Game 题解
    [CF282D]YetAnotherNumberGame传送门这题可以分三种情况讨论\(n\)的取值。n=1显然,当\(a1\neq0\)时先手可以一下全部取完,后手必败,否则后手必胜。n=2有......
  • Java魔法类之Unsafe(cas)底层实现
    一、JVM层在java.util.concurrent包下面的很多类为了追求性能都采用了sun.misc.Unsafe类中的CAS操作,从而避免使用synchronized等加锁方式带来性能上的不足。在sun.misc.U......
  • Java连接数据库技术-JDBC
    课程简介和目标 Java数据库连接,(JavaDatabaseConnectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据......
  • Java连接数据库技术-JDBC
    课程简介和目标 Java数据库连接,(JavaDatabaseConnectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据......