C#:将字符列表转换为字符串

Ben*_*ity 5 c# string

我正在用 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 ?
Run Code Online (Sandbox Code Playgroud)

hal*_*ldo 21

一种选择是使用字符串构造函数

var myString = new string(array1.ToArray());
Run Code Online (Sandbox Code Playgroud)

  • `var myString = String.Concat(array1); ` 在这里是一个更好的答案。它速度更快,分配的内存更少。 (8认同)
  • var myString = string.Join("", array) (2认同)