using System.Collections.Generic;
public static void Main()
List<string> ips = new List<string>();
ips.Add("192.168.1.100");
ips.Add("192.168.1.201");
ips.Add("192.168.10.10");
ips.Add("192.168.10.100");
ips.Add("192.168.10.20");
ips.Add("192.168.10.201");
ips.Add("192.168.10.40");
ips.Add("192.168.10.23");
ips.Add("192.168.2.100");
ips.Add("192.168.2.201");
ips.Sort(delegate(string m1, string m2) { return Enumerable.Zip(m1.Split('.'), m2.Split('.'), (x, y) => int.Parse(x).CompareTo(int.Parse(y))).FirstOrDefault(i => i != 0); });