Warm tip: This article is reproduced from serverfault.com, please click

.net-如何使用C#对IP地址列表进行排序

(.net - How to sort list of Ip Addresses using c#)

发布于 2011-06-06 05:16:38

我有以下IP地址列表

192.168.1.5
69.52.220.44
10.152.16.23
192.168.3.10
192.168.1.4
192.168.2.1

我正在寻找一种对列表进行排序以匹配以下顺序的方法

10.152.16.23
69.52.220.44
192.168.1.4
192.168.1.5
192.168.2.1
Questioner
Cracker
Viewed
0
Alex Aza 2011-06-06 13:22:43

这看起来像是骇客,但它确实满足你的需求:

var unsortedIps =
    new[]
    {
        "192.168.1.4",
        "192.168.1.5",
        "192.168.2.1",
        "10.152.16.23",
        "69.52.220.44"
    };

var sortedIps = unsortedIps
    .Select(Version.Parse)
    .OrderBy(arg => arg)
    .Select(arg => arg.ToString())
    .ToList();