C# - 将字符串附加到字符串数组

时间:2010-09-11 23:53:54

标签: c# arrays

如果某个复选框为true,如何将字符串附加到数组?

//Create an array to hold the values.
string[] charArray;

if (abc.Checked == true)
{
    //append lowercase abc
}

if (a_b_c.Checked == true)
{
    //append uppercase abc
}

if (numbers.Checked == true)
{
    //append numbers
}

if (symbols.Checked == true)
{
    //append symbols
}

3 个答案:

答案 0 :(得分:11)

您通常不希望尝试在.NET中附加到数组。它可以做到,但它很昂贵。在这种情况下,您想使用StringBuilder

示例:

StringBuilder sb = new StringBuilder();

if (abc.Checked)
{
    //append lowercase abc
    sb.Append(textbox1.Text.ToLower());
}

完成后,您可以通过拨打sb.ToString()来获取字符串,或通过调用sb.CopyTo()来获取字符。

命名一个字符串数组“charArray”非常混乱。

或者您是否尝试追加字符串,而不是将字符追加到字符串中?您希望使用List<string>,而不是string[]

示例:

List<string> strings = new List<string>();

if (abc.Checked)
{
    // append lowercase abc
    strings.Add(textbox1.Text.ToLower());
}

答案 1 :(得分:2)

为什么不将字符串附加到List,然后将其转换为数组?

答案 2 :(得分:2)

根据定义,数组具有固定大小。如果告诉你的字符串对你很重要,并且/或者你希望能够对它们进行迭代,对它们进行排序等等 - 使用StringCollection或其他更适合collection的字符串。如果您只想将字符串附加到另一个字符串,请使用StringBuilder,如Jim所说。