【问题标题】:Find and remove items from array in c#在 C# 中从数组中查找和删除项目
【发布时间】:2012-02-21 10:06:30
【问题描述】:

我有一个字符串数组。我需要从该数组中删除一些项目。但我不知道需要删除的项目的索引。

我的数组是:string[] arr= {" ","a","b"," ","c"," ","d"," ","e","f"," "," "}。

我需要删除“ ”项。即删除“”后,我的结果应该是 arr={"a","b","c","d","e","f"}

我该怎么做?

【问题讨论】:

标签: c# arrays


【解决方案1】:
  string[] arr = {" ", "a", "b", " ", "c", " ", "d", " ", "e", "f", " ", " "};
  arr = arr.Where(s => s != " ").ToArray();

【讨论】:

    【解决方案2】:

    这将删除所有为空、空或只是空格的条目:

    arr.Where( s => !string.IsNullOrWhiteSpace(s)).ToArray();
    

    如果出于某种原因,您只想像示例中那样只删除一个空格的条目,您可以像这样修改它:

    arr.Where( s => s != " ").ToArray();
    

    【讨论】:

      【解决方案3】:

      使用 LinQ

      using System.Linq;
      
      
      string[] arr= {" ","a","b"," ","c"," ","d"," ","e","f"," "," "}.
      arr.Where( x => !string.IsNullOrWhiteSpace(x)).ToArray();
      

      或者取决于你如何填充数组,你可以在之前完成

      string[] arr = stringToBeSplit.Split('/', StringSplitOptions.RemoveEmptyEntries);
      

      那么一开始就不会将空条目放入您的字符串数组中

      【讨论】:

        【解决方案4】:

        您可以使用 except 来删除空白值

        string[] arr={" ","a","b"," ","c"," ","d"," ","e","f"," "," "}.
        arr= arr.Except(new List<string> { string.Empty }).ToArray();
        

        【讨论】:

          猜你喜欢
          • 2021-09-07
          • 2021-10-03
          • 2021-10-19
          • 2014-09-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-02
          • 1970-01-01
          相关资源
          最近更新 更多