C# 如何按升序或降序对IList进行排序#

C# 如何按升序或降序对IList进行排序#,c#,sorting,selenium,C#,Sorting,Selenium,我正在使用IList在其中存储IWebElements。这是代码 IList<IWebElement> tableColumnData = DriverContext.Driver.FindElements(By.XPath("//span[text()='EnterpriseId']/following-sibling::tbody")); Console.WriteLine("COUNT : " + tableColumnData.Count); IList tableColu

我正在使用IList在其中存储IWebElements。这是代码

IList<IWebElement> tableColumnData = DriverContext.Driver.FindElements(By.XPath("//span[text()='EnterpriseId']/following-sibling::tbody"));
Console.WriteLine("COUNT : " + tableColumnData.Count);
IList tableColumnData=DriverContext.Driver.FindElements(By.XPath(“//span[text()='EnterpriseId']/以下同级::tbody”);
Console.WriteLine(“COUNT:+tableColumnData.COUNT”);

问题是如何按升序或降序对IList tableColumnData进行排序。任何建议都会有很大帮助。

您可以使用LINQ查询:

var myOrdredList= from item in tableColumnData
                  orderby someProperty ascending //or descending
                  select item;

您需要将
OrderBy
的结果分配给另一个列表,它不会影响您调用它的列表。像这样:

var sortedList = tableColumnData.OrderBy(t => t.Text); 
foreach (IWebElement element in sortedList) 
{
  Console.WriteLine(element.Text); 
}

试试这个
tableColumnData.OrderBy(t=>t.Text.ToList()并让我知道排序后是否工作以及如何打印值?在排序工作完成后,使用foreach循环迭代列表,它仍然会给我原始列表,而不是排序后的tableColumnData.OrderBy(t=>t.Text).ToList();foreach(tableColumnData中的IWebElement元素){text[i++]=element.text;Console.WriteLine(text[i-1]);}如何设置属性?这取决于您希望对表进行排序的方式,假设您希望按行的范围或某个id对表进行排序,然后,“someProperty”应替换为item.id或item.range。