【问题标题】:How to Fill & Display Empty Element in Array With Text如何用文本填充和显示数组中的空元素
【发布时间】:2018-11-19 04:39:58
【问题描述】:

所以我有这段代码:

static void Main(string[] args)
{
    string name = "John; Jill;";
    string[] arrayOfString = new string[6];
    arrayOfString = name.Split(';');

    for(int i = 0; i < arrayOfString.Length; i++)
    {

        if (String.IsNullOrEmpty(arrayOfString[i]))
        {
            arrayOfString[i] = "EMPTY";
        }
        Console.WriteLine(arrayOfString[i].Trim());  
    }
}

如果我运行这段代码,那么结果是:

John
Jill
EMPTY

但我想做的是将它显示为这样的:

John
Jill
EMPTY
EMPTY
EMPTY
EMPTY

如您所见,我尝试使用长度,但它只计算数组中已经有值的元素。谁能帮我解决这个问题?提前致谢。

【问题讨论】:

    标签: c# arrays string


    【解决方案1】:

    问题是您在这里创建了一个包含 6 个元素的数组:

    string[] arrayOfString = new string[6];
    

    ...但随后重新分配arrayOfString,这意味着您完全忽略了以前的值,这里:

    arrayOfString = name.Split(';');
    

    所以在这条语句之后,arrayOfString 只有 3 个元素,而你原来的 6 元素数组符合垃圾回收条件。

    如果您总是需要 6 个元素,则应将 Split 的结果复制到现有数组中:

    string[] arrayOfString = new string[6];
    string[] split = name.Split(';', 6); // At most 6 strings
    Array.Copy(split, 0, arrayOfString, 0, split.Length);
    

    【讨论】:

    • 谢谢你的回答,我明白我现在做错了什么。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    相关资源
    最近更新 更多