簡體   English   中英

將`List <string>`轉換為逗號分隔的字符串

[英]Convert `List<string>` to comma-separated string

有沒有一種快速的方法將List<string>轉換為C#中以逗號分隔的string

我這樣做但也許有更快或更有效的方式?

List<string> ls = new List<string>();
ls.Add("one");
ls.Add("two");
string type = string.Join(",", ls.ToArray());

PS:在這個網站上搜索過但大多數解決方案都是針對Java或Python的

在.NET 4中,您不需要ToArray()調用 - string.Join被重載以接受IEnumerable<T>或僅IEnumerable<string>

在.NET 4之前有可能更有效的方法,但你真的需要它們嗎? 這實際上是您代碼中的瓶頸嗎?

可以迭代列表,計算出最終大小,分配一個大小合適的StringBuilder ,然后自己進行連接。 這將避免額外的陣列正在修建的小原因-但它不會節省很多時間,這將是一個很大更多的代碼。

以下將導致以逗號分隔的列表。 確保包含System.Linq的using語句

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()));
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);  
}

將字符串列表轉換為逗號分隔的字符串C#。

這就是我希望看到我是否維護你的代碼的方式。 如果你設法找到一個更快的解決方案,那將是非常深奧的,你應該把它埋在一個描述它的功能的方法中。

(沒有ToArray它仍然可以工作)?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM