【问题标题】:C#: Converting List of Chars to String [duplicate]C#:将字符列表转换为字符串
【发布时间】: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&lt;char&gt;。据我所知,你对列表所做的一切,你都可以用StringBuilder 来代替。然后在最后打电话给ToString
  • @René Vogt 非常感谢您!
  • @Jon Skeet 下次会考虑 StringBuilder :)!
  • 有什么理由不改变现在使用它?它专为此类任务而设计。除非这真的是扔掉的代码,否则我会说使用 StringBuilder 会更加地道。

标签: c# string


【解决方案1】:

一种选择是使用string constructor

var myString = new string(array1.ToArray());

【讨论】:

  • var myString = string.Join("", array)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-31
  • 1970-01-01
  • 1970-01-01
  • 2013-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多