如何排序表?

时间:2012-03-07 16:25:09

标签: c# sorted

我有2列IP表:IP和% 根据IP precent排序此表的最佳方法是什么?

enter image description here

表格类型:

public List<string> statistics()
{

}

3 个答案:

答案 0 :(得分:0)

假设您的IpAddress列是一个字符串,您只是希望该列值按百分比降序排序(由于您的问题含糊不清,因此很多假设):

List<string> ips = IpTable.OrderByDescending(x=> x.Percentage)
                          .Select(x=> x.IpAddress)
                          .ToList();

答案 1 :(得分:0)

您必须将字符串拆分为两列,将第二列解析为数字,然后按该列排序。

        return from line in statistics
               let split = line.Split('\t', '%')
               let percentage = double.Parse(split[1])
               orderby percentage
               select line;

在这段代码中,你必须用你在每一行中的任何字符替换分裂字符,并替换我正在索引的列,但其余的应该按你的需要工作。< / p>

答案 2 :(得分:0)

我认为列表中的每个条目都是一个字符串 - 如果不是忽略以下内容......

你首先必须将其解析为另一种格式 - 不知道这是否属实,但我认为在Ip和你的百分比之间有一个标签('\ t'),所以你可以从做< / p>

var stringTupleList = 
   myList.Select(s => s.Split('\t'))
         .Select(ar => new { Ip = ar[0], PercentString = ar[1] });

这为您提供了匿名类型的列表,您可以继续像BrokenGlass一样回答:

var stringTupleList = 
   myList.Select(s => s.Split('\t'))
         .Select(ar => new { Ip = ar[0], PercentString = ar[1] })
         .OrderByDescending(t => t.PercentString)
         .Select(t => t.Ip)
         .ToList();