Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.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中删除字符串#_C#_.net_Arrays - Fatal编程技术网

C# 从数组C中删除字符串#

C# 从数组C中删除字符串#,c#,.net,arrays,C#,.net,Arrays,是否有从数组中删除最后一个单元格的函数 它是一个字符串数组,类似于:{“a”、“b”、“c”和‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘’ string[] newArray = myArray.Where(str => str != "").ToArray(); 如果是字符串数组,则可以执行以下操作: string[] results = theArray.Where(s => !string.IsNullOrWhitespace(

是否有从数组中删除最后一个单元格的函数


它是一个字符串数组,类似于:
{“a”、“b”、“c”和‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘’

string[] newArray = myArray.Where(str => str != "").ToArray();

如果是字符串数组,则可以执行以下操作:

 string[] results = theArray.Where(s => !string.IsNullOrWhitespace(s)).ToArray();
如果您只是要迭代结果,则无需将其转换回数组,并且可以在结尾处省去
.ToArray()


编辑:

如果您只想删除最后一个单元格,而不是空条目(如您编辑的版本所建议的),则可以使用比使用上面的LINQ语句更有效的方法来执行此操作:

  string[] results = new string[theArray.Length - 1];
  Array.Copy( theArray, results, results.Length );
  • 创建等于现有数组大小-1的新数组
  • aNewArray=aOldArray

  • 当然,可以将数组中的最后一个元素设为null,但这会导致以后出现问题。否则,使用一个灵活的列表。

    如果你总是想去掉最后一个元素

    var newArraySize = oldArray.Length - 1;
    var newArray = new string[newArraySize];
    Array.Copy(oldArray, newArray, newArraySize);
    
            int[] a = new[] {1, 2, 3, 4, 5};
            int[] b = new int[a.Length - 1];
            Array.Copy(a, b, a.Length - 1);
    

    数组是固定大小的集合对象。这使得它对于你想要做的事情来说是远远不够的。你能做的最好的事情就是用更少的元素创建另一个。那太贵了

    修复真正的问题,这应该是一个
    列表
    ,现在它很简单。

    呃。。。只需调整大小即可

     Array.Resize(ref theArray, theArray.Length -1);
    
    从文件中

    公共静态void Resize(ref T[]数组,int newSize)


    数组可以包含任何对象/类型。所以,请让你的问题更有意义一点。理想情况下,提供输入数组和所需输出数组的示例。更妙的是:展示你迄今为止为解决这个问题所做的努力,这些努力都没有奏效。简单地说:。