C#:将字符列表转换为字符串
Posted
技术标签:
【中文标题】C#:将字符列表转换为字符串【英文标题】:C#: Converting List of Chars to String [duplicate] 【发布时间】:2020-02-19 18:45:40 【问题描述】:我正在使用 C# 使用列表解决 Coderbyte 上的编码挑战。我有想要的结果,但需要将其作为字符串返回。
我想知道如何将我的字符列表转换为字符串。 提前谢谢你。
这是我的代码:
string s = "I love dogs";
int i, j = 0;
List<char> array1 = new List<char>();
List<char> array2 = new List<char>();
for (i = 0; i < s.Length; i++)
if (s.Length == j)
break;
if (Char.IsLetter(s[i]))
array1.Add(s[i]);
else
for (j = i; j < s.Length; j++)
if (Char.IsLetter(s[j]))
array2.Add(s[i]);
if (!Char.IsLetter(s[j]) || j == s.Length - 1)
if (array1.Count >= array2.Count)
array2.Clear();
else
array1.Clear();
array1.AddRange(array2);
array2.Clear();
// How to convert array1 into String ?
【问题讨论】:
string result = new string(array1.ToArray());
虽然您可以将它们保留为列表,但我建议使用StringBuilder
而不是List<char>
。据我所知,你对列表所做的一切,你都可以用StringBuilder
来代替。然后在最后打电话给ToString
。
@René Vogt 非常感谢您!
@Jon Skeet 下次会考虑 StringBuilder :)!
有什么理由不改变现在使用它?它专为此类任务而设计。除非这真的是扔掉的代码,否则我会说使用 StringBuilder 会更加地道。
【参考方案1】:
一种选择是使用string constructor:
var myString = new string(array1.ToArray());
【讨论】:
var myString = string.Join("", array)以上是关于C#:将字符列表转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章
C# JSON 将文件反序列化为对象列表失败,并将字符串转换为集合错误