0
我有我需要基於兩個列排序對象的列表:排序列表中給出一個具體的場景
List<Customers> customers = CustomerService.GetAll();
現在,現有的代碼如下:
customers.Sort(new CustomerComparer(sortColumn));
哪裏排序列可以是日期,名稱,金額,說明。
在比較器類我
public class CustomerComparer : IComparer<Customer>
{
public CustomerComparer(string expression){}
public int Compare(Customer c, Customer d)
{
int value = 0;
switch(expression)
{
case "Name":
value = String.Compare(c.Name, d.Name,StringComparison.InvariantCultureIgnoreCase);
break;
case "Date":
value = DateTime.Compare(b.Date, d.Date);
break;
case "Description":
value = String.Compare(c.Name, d.Name,StringComparison.InvariantCultureIgnoreCase);
break;
}
return value;
}
}
鑑於這種情況下,我怎麼能排序基於兩列,比如我應該總是能夠排序任何這些列,但隨後按日期總是喜歡
DESCRIPTION ,DATE
NAME, DATE
等。
我不知道爲什麼,當我鍵入排序依據它不上來,它說:System.Collections.Generic.List不包含「排序依據」的定義,並沒有擴展方法「排序依據」接受firt說法可以找到類型'System.Collections.Generic.List '。 (你是否缺少using指令或程序集引用?)。 –
jedgard
我在asp.net 4.0上的方式 – jedgard
明白了,需要添加使用linq – jedgard