你的位置:首页 > ASP.net教程

[ASP.net教程]如何将Liststring转化为string


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 4C# program that converts Listusing 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);  }}OutputAigi,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 StringBuilderusing 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);  }}OutputDevon 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 typesusing 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);  }}Output5 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 Listusing 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);	}  }}Outputonetwothree


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.