我正在尝试对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 是不可能的?
答案 0 :(得分:2)
OrderBy
不会修改基础集合 - 返回 IEnumerable
,它会按照您要求的顺序为您提供项目。所以你有几个选择:
使用List.Sort()
,其中 修改基础集合:
ui.Sort();
将已排序的列表存储在新变量
中var uiSorted = ui.OrderBy(s => s);
替换现有的参考资料
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()
应该就是你需要做的一切。