如何將List<string>轉化為string

来源:http://www.cnblogs.com/klsw/archive/2016/07/07/5651934.html
-Advertisement-
Play Games

Convert List, string. A List can be converted to a string. This is possible with the ToArray method on the List type. We can also convert a string int ...


Convert List, string. A List can be converted to a string. This is possible with the ToArray method on the List type. We can also convert a string into a List.Conversions
The StringBuilder type helps with certain conversions, which are done with loops. When using StringBuilder, we must be careful with a trailing delimiter.
First example. We use the string.Join method to combine a List of strings into one string. The output can be used as a CSV record. On new .NET Framework versions, ToArray is not required.

However:In previous versions, we had to call ToArray on a List before using Join. In older programs this is still required.

List

Based on: .NET 4

C# program that converts List

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
	List<string> dogs = new List<string>();
	dogs.Add("Aigi"); // Add string 1
	dogs.Add("Spitz"); // 2
	dogs.Add("Mastiff"); // 3
	dogs.Add("Finnish Spitz"); // 4
	dogs.Add("Briard"); // 5

	string dogCsv = string.Join(",", dogs.ToArray());
	Console.WriteLine(dogCsv);
    }
}

Output

Aigi,Spitz,Mastiff,Finnish Spitz,Briard


Example 2. Here we use the StringBuilder class to convert a List to a single string. Note that you can convert a List of any object type into a string this way.StringBuilder

Final delimiter:The example has a final delimiter on the end. This is not present in code that uses string.Join. It can be inconvenient.

TrimEnd:Sometimes, it is good to remove the end delimiter with TrimEnd. Other times it is best left alone.

TrimEnd, TrimStart

C# program that uses List and StringBuilder

using System;
using System.Collections.Generic;
using System.Text;

class Program
{
    static void Main()
    {
	List<string> cats = new List<string>(); // Create new list of strings
	cats.Add("Devon Rex"); // Add string 1
	cats.Add("Manx"); // 2
	cats.Add("Munchkin"); // 3
	cats.Add("American Curl"); // 4
	cats.Add("German Rex"); // 5

	StringBuilder builder = new StringBuilder();
	foreach (string cat in cats) // Loop through all strings
	{
	    builder.Append(cat).Append("|"); // Append string to StringBuilder
	}
	string result = builder.ToString(); // Get string from StringBuilder
	Console.WriteLine(result);
    }
}

Output

Devon Rex|Manx|Munchkin|American Curl|German Rex|


Example 3. Here we convert a List of ints into a single string. The StringBuilder's Append method receives a variety of types. We can simply pass it the int.

And:Append() will handle the int on its own. It will convert it to a string and append it.

Performance:StringBuilder is fast for most programs. More speed could be acquired by using a char[] and then converting to a string.

Char Array

C# program that converts List types

using System;
using System.Collections.Generic;
using System.Text;

class Program
{
    static void Main()
    {
	List<int> safePrimes = new List<int>(); // Create list of ints
	safePrimes.Add(5); // Element 1
	safePrimes.Add(7); // Element 2
	safePrimes.Add(11); // Element 3
	safePrimes.Add(23); // Element 4

	StringBuilder builder = new StringBuilder();
	foreach (int safePrime in safePrimes)
	{
	    // Append each int to the StringBuilder overload.
	    builder.Append(safePrime).Append(" ");
	}
	string result = builder.ToString();
	Console.WriteLine(result);
    }
}

Output

5 7 11 23


Example 4. Finally, we get a List of strings from a string in CSV format. This requires the Split method. If you require per-item conversion, loop over the string array returned by Split.

C# program that converts string to List

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
	string csv = "one,two,three"; // The input string
	string[] parts = csv.Split(','); // Call Split method
	List<string> list = new List<string>(parts); // Use List constructor
	foreach (string item in list)
	{
	    Console.WriteLine(item);
	}
    }
}

Output

one
two
three


A summary. We converted Lists and strings using the string.Join methods and the StringBuilder approach. The List is easily concatenated and stored in a database or file with these methods.


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 經過了前三篇的鋪墊,我們終於來到了最重要的部分~~如果沒看過前幾篇的小伙伴們,可以出門右轉~~用十幾分鐘回顧一下~~然後在看這篇會感覺不一樣的~~~~ 下麵讓我們來正式開始吧 我們進入大白菜的桌面是醬紫的~ 首先看見大白菜一鍵裝機雙擊進去 第一步:選擇ISO系統包 第二步:選擇安裝到的硬碟(一般就是 ...
  • 在Linux中,有時使用umount命令去卸載LV或文件時,可能出現umount: xxx: device is busy的情況,如下案例所示 [root@DB-Server u06]# vgdisplay -v VolGroup03 Using volume group(s) on command... ...
  • 1. 安裝svn yum intall subversion 2. 查看安裝位置 rpm -ql subversion 3. 檢驗svn是否安裝成功,查看幫助 svn --help , 看到下圖表示成功。 4. 創建svn版本庫目錄 mkdir –p /var/svn/svnrepos 5. 創建版 ...
  • # 快捷鍵 //未完待續 ...
  • 聲明:以下的代碼成果,是參考了網上的injso技術,文章最後會給出地址。 但是injso文章中的代碼存在一些問題,所以後面出現的代碼是經過我個人修改和檢測的。 最近因為在學習一些調試的技術,但是很少有提到如何在函數運行時實現函數替換的。 為什麼會想到這一點?因為在學習調試時,難免會看到一些內核方面的 ...
  • 文本框只讀屬性:readonly="true" 下拉框只讀屬性: disabled="disabled" 單選框只讀屬性: $("#<%=txtIsReply.ClientID%>").click(function () { return false; }) ...
  • .Net Core 1.0終於發佈了,Core的一大賣點就是跨平臺。這個跨平臺不只是跨平臺運行,而且可以跨平臺開發。今天抽空研究了下在Mac下如何使用VS Code來開發.NET Core程式,並且調試代碼。 1.安裝.NET Core 在mac上打開終端: ~$ brew update ~$ br ...
  • 1、EF同一個linq裡邊不支持兩個或兩個以上不同dbcontext的使用,必須拆解開才能使用; ef也不支持自定義集合和dbcontext屬性的混合使用. 2、如果要用用統一域賬號連接database,必須在IIS Application pool中設置該域賬號,如下圖. 3、如果dbcontex ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...