将`List <string>`转换为逗号分隔的string
有没有一种快速的方法来将List<string>
转换为C#中的逗号分隔的string
?
我这样做,但也许有一个更快或更有效的方法?
List<string> ls = new List<string>(); ls.Add("one"); ls.Add("two"); string type = string.Join(",", ls.ToArray());
PS:在这个网站上search,但是大多数解决scheme都是针对Java或Python的
在.NET 4中,您不需要ToArray()
调用 – string.Join
被重载以接受IEnumerable<T>
或只是IEnumerable<string>
。
在.NET 4之前有可能更有效的方法,但是你真的需要它吗? 这实际上是你的代码中的瓶颈?
你可以迭代列表,计算出最终的大小,分配一个正确大小的StringBuilder
,然后自己进行连接。 这将避免额外的数组正在build设的原因 – 但它不会节省太多的时间,这将是更多的代码。
以下内容将以逗号分隔列表forms显示。 一定要包含System.Linq
的使用语句
List<string> ls = new List<string>(); ls.Add("one"); ls.Add("two"); string type = ls.Aggregate((x,y) => x + "," + y);
会产生一个,两个
如果在逗号后面需要一个空格,只需将最后一行改为string type = ls.Aggregate((x,y) => x + ", " + y);
为了扩大Jon Skeets的答案,在.Net 4
的代码是:
string myCommaSeperatedString = string.Join(",",ls);
按照这个:
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()));
这就是我希望看到我是否维护你的代码的方式。 如果你设法find一个更快的解决scheme,这将是非常深奥的,你应该真的把它埋在一个方法,描述它的作用。
(它没有ToArray仍然工作)?
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); }
将string列表转换为逗号分隔的stringC#。
- 在控制器.NET MVC中创build一个URL
- 密码REGEX分钟6个字符,至less一个字母和一个数字,可能包含特殊字符
- LINQ to SQL Where子句可选标准
- 在Razor视图中发出未编码的string
- 避免不带参数的SQL注入
- 为什么在Windows 2012 Server上Azure部署比在Windows 2008 Server上慢
- IIS7部署 – 重复“system.web.extensions / scripting / scriptResourceHandler”部分
- 在使用Ninject OWIN中间件的OWIN启动中dependency injectionUserStore
- DropDownList AppendDataBoundItems(第一项空白,不重复)