Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#向字符串数组中添加数据或从中删除数据_C#_Arrays_Params - Fatal编程技术网

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

C#向字符串数组中添加数据或从中删除数据,c#,arrays,params,C#,Arrays,Params,我希望通过问这个问题,我能找到一种更有效的方法来做我正试图做的事情 首先,我有一个函数,其参数如下所示: private void exampleVoid(string filePath, params string[] sourceFile) { // Code ... } exampleVoid(@"C:\test.txt", "Some Data", "Some More Data", "Even more data"); **注意:我正在将“sourceFile”参数传递到Cod

我希望通过问这个问题,我能找到一种更有效的方法来做我正试图做的事情

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

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

// Code ...

}
exampleVoid(@"C:\test.txt",
"Some Data",
"Some More Data",
"Even more data");
**注意:我正在将“sourceFile”参数传递到CodeDom方法中。如果任何参数为null,此方法将抛出错误** 我对
exampleVoid
的调用如下所示:

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

// Code ...

}
exampleVoid(@"C:\test.txt",
"Some Data",
"Some More Data",
"Even more data");
在某些情况下,数组中的第二个字符串(标记为“Some More Data”)可能必须删除,而不是传递给
exampleVoid()
方法。那么,是否有某种方法可以将这个字符串从数组中全部删除?请记住,将字符串置零将不起作用,因为将引发异常

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


埃文

我不确定我是否理解你的问题。。。 话虽如此,您可以尝试以下方法:

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);

我不确定我是否理解你的问题。。。 话虽如此,您可以尝试以下方法:

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);

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

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

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

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

您如何知道必须删除哪些索引?它应该在哪里被移除?在它到达exampleVoid之前还是之后?我需要删除第二个索引。假设我声明一个布尔值(b_removeArrayIndex),如果这个布尔值为真,我希望数组被删除。你怎么知道必须删除哪个索引?它应该在哪里被移除?在它到达exampleVoid之前还是之后?我需要删除第二个索引。假设我声明一个布尔值(b_removeArrayIndex),如果这个布尔值为真,我希望数组被移除,这是完美的。我肯定会研究一些文档来弄清楚它到底在做什么。这是完美的工作。我肯定会研究一些文档来弄清楚它到底在做什么。