我如何排序/ OrderBy IList <int32> </int32>

时间:2013-06-17 15:10:36

标签: linq

我正在尝试对IList进行排序,我尝试了不同的方法但没有工作

这是我的代码:

IList<IWebElement> listCountIdsUi = driver.FindElements(By.CssSelector("table#ct_ tr td:nth-of-type(1)"));

List<Int32> ui = new List<Int32>();

foreach (IWebElement option in listCountIdsUi)
{
    if (!option.Text.ToString().StartsWith("Page"))
    {
        ui.Add(Convert.ToInt32(option.Text));
    }
}

我能够理解的唯一方法是使用ArrayList

 ArrayList al = new ArrayList(ui);
 al.Sort();
使用IList

是不可能的?

3 个答案:

答案 0 :(得分:2)

OrderBy不会修改基础集合 - 返回 IEnumerable,它会按照您要求的顺序为您提供项目。所以你有几个选择:

  1. 使用List.Sort(),其中 修改基础集合:

    ui.Sort();
    
  2. 将已排序的列表存储在新变量

    var uiSorted = ui.OrderBy(s => s);
    
  3. 替换现有的参考资料

    ui = ui.OrderBy(s => s).ToList();
    

答案 1 :(得分:1)

您是否尝试过List<T>.Sort方法?

ui.Sort((a, b) => a.CompareTo(b));

答案 2 :(得分:0)

var uiOrdered = ui.OrderBy(s => s).ToList()应该就是你需要做的一切。