如何将List<string>转化为string
2016-07-07 23:25
549 查看
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
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
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
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.
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.
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.
相关文章推荐
- JSBinding / Testing
- Redis 安全
- Redis 数据备份与恢复
- NSUserdefaults
- 【剑指offer】如何通过先序遍历与中序遍历重建二叉树
- unity如何获取安卓手机通讯录?
- Redis 服务器
- 不变对象(Immutable Objects)
- 常用的adb命令
- SmokePing之配置文件config详解
- mybatis同一个搜索框对多个字段进行模糊查询
- SmokePing之配置文件config详解
- SCU2016-02 S题 区间二分
- Redis 连接
- Linux下修改mysql用户密码
- Android
- Redis 脚本
- Redis 事务
- Redis 发布订阅
- Unity如何获取鼠标当前帧和上一帧的屏幕坐标差