【问题标题】:c# remove everything in List collection after a particular indexc# 在特定索引之后删除列表集合中的所有内容
【发布时间】:2019-06-25 14:25:20
【问题描述】:

我希望能够在某个索引之后删除List<string> 中的所有元素

List<string> s_array= new List<string>();
s_array.Add("a");
s_array.Add("x");
s_array.Add("c");
s_array.Add("y");
s_array.Add("e");
s_array.Add("e");
s_array.RemoveAll(/* what goes here?*/);

我可以在RemoveAll 中输入什么来实现这一目标?例如说我想从c 开始删除所有内容?

【问题讨论】:

  • 循环关键词TakeSkip然后从那里开始......
  • 请了解如何为您的下一个问题正确格式化您的代码。否则很难阅读

标签: c# arrays list collections


【解决方案1】:

不确定您的所有参数是什么,因此很难说哪种方法最好。

使用RemoveAll(),您可以:

s_array.RemoveAll(x => s_array.IndexOf(x) > s_array.IndexOf("c"));

【讨论】:

    【解决方案2】:

    您可以使用关键字TakeSkip 来帮助 - 示例:

    var s_array = new List<string> {"a","x","c","y","e","e" };
    
    var sorted = (from x in s_array orderby x select x);
    
    var first3 = sorted.Take(3);
    
    var last2 = sorted.Take(2).Skip(5);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-20
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      • 2016-12-08
      • 2013-05-01
      • 2017-11-17
      • 1970-01-01
      相关资源
      最近更新 更多