C#将数据添加到字符串数组中或从中删除数据

时间:2011-07-25 14:28:13

标签: c# arrays params

我希望通过提出这个问题,我找到一种更有效的方法来做我想做的事情。

首先,我有一个函数,其参数如下所示:

private void exampleVoid(string filePath, params string[] sourceFile) {

// Code ...

}

**注意:我将'sourceFile'参数传递给CodeDom方法。如果任何参数为null,则此方法将引发错误。**

我对exampleVoid的电话如下:

exampleVoid(@"C:\test.txt",
"Some Data",
"Some More Data",
"Even more data");

在某些情况下,可能必须删除数组中的第二个字符串(标记为“更多数据”),并且传递给exampleVoid()方法。那么,是否有一些方法可以从阵列中删除此字符串?请记住,将字符串输出为null将不起作用,因为将抛出异常。

感谢您阅读,以及任何进一步的帮助。

埃文

2 个答案:

答案 0 :(得分:5)

您无法从阵列中删除字符串。创建一个包含除要包含的项目之外的所有其他项目的新阵列是您唯一的选择。代码很简单:

// Filters out the second item (zero-based index 1)
sourceFile = sourceFile.Where((s, i) => i != 1).ToArray();

答案 1 :(得分:0)

我不确定我是否理解你的问题...... 话虽如此,你可以试试这个:

string[] sourceFile;
if(condition)
    sourceFile = new []{"Some Data","Even more data"};
else
    sourceFile = new []{"Some Data","Some More Data","Even more data"};

exampleVoid(@"C:\test.txt", sourceFile);