我完全不能理解LZ的意思..另外 别用文字 随便写个类好吗..比如public class xxoo
{
 public string name{get;set;}
 public int {get;set;}
}也行啊

解决方案 »

  1.   

    那我写的再清楚点吧foreach (KeyValuePair<string, SpiderLogic.Logic.Base> kvp in model.b)
    {   html = excutor.ExcuteUrlRedirectHtml("http://xxx/query?dingdanhao=.....excludePorts=" + kvp.Value.notPort);//筛选端口得到代理ip,具体调用网址省略了   string[] arrProxy = html.Split(new string[] { "\r\n" }, StringSplitOptions.None);   foreach (string proxy in arrProxy)
       {
         if (string.IsNullOrEmpty(proxy)) continue;     string[] stArr = proxy.Split(':');
         string ip = stArr[0];
         int port = int.Parse(stArr[1]);     
       }}按照循环次序的结果(可以存入List<T>输出或其他的输出,具体不写了,反正就这个意思:
    model1 ip1
    model1 ip2
    model1 ip3
    model2 ip1
    model2 ip2
    model2 ip3想要的结果是  count=3
    model1 ip1
    model2 ip1model1 ip2
    model2 ip2model1 ip3
    model2 ip3
      

  2.   

    model1 ip1
     model2 ip1
    你这model1model2之间用什么区别呢,如果是字符串,你就截取前面的就可以区分,然后一样的写在一起呗
      

  3.   

    如果你想要3这个数字 那么直接按照list分组之后的count就是了..如果想要下面的顺序  那么直接按照list排序就是了...
      

  4.   

    csdn自己发的回复不能编辑,哎,上面的不对,请看这里foreach (KeyValuePair<string, SpiderLogic.Logic.Base> kvp in model.b)
    {   html = excutor.ExcuteUrlRedirectHtml("http://xxx/query?dingdanhao=.....excludePorts=" + kvp.Value.notPort);//筛选端口得到代理ip,具体调用网址省略了   string[] arrProxy = html.Split(new string[] { "\r\n" }, StringSplitOptions.None);   foreach (string proxy in arrProxy)
       {
         if (string.IsNullOrEmpty(proxy)) continue;     string[] stArr = proxy.Split(':');
         string ip = stArr[0];
         int port = int.Parse(stArr[1]);     
       }}按照循环次序的结果(可以存入List<T>输出或其他的输出,具体不写了,反正就这个意思:
    kvp.Key1  ip1
    kvp.Key1  ip2
    kvp.Key1  ip3
    kvp.Key2  ip1
    kvp.Key2  ip2
    kvp.Key2  ip3想要的结果是  count=3
    kvp.Key1  ip1
    kvp.Key2  ip1kvp.Key1  ip2
    kvp.Key2  ip2kvp.Key1  ip3
    kvp.Key2  ip3 
      

  5.   


    对象如下         public class a
            {
                public string b { get; set; }
                public string c { get; set; }
            }
    插入测试数据
                List<a> list = new List<a>();
                list.Add(new a() { b = "model1", c = "ip1" });
                list.Add(new a() { b = "model1", c = "ip2" });
                list.Add(new a() { b = "model1", c = "ip3" });
                list.Add(new a() { b = "model2", c = "ip1" });
                list.Add(new a() { b = "model2", c = "ip2" });
                list.Add(new a() { b = "model2", c = "ip3" });
    得到你所谓的3
     var e = list.GroupBy(d => d.c).Count();
     Console.WriteLine(e);
    得到你所谓的新的结果.
                list.OrderBy(d => d.c).ToList().ForEach(delegate(a f){
                    Console.WriteLine(f.b+"    "+f.c);
                });
    结果如下.
      

  6.   


    最后结果count=6 不是3啊,应该是
    第一次循环
    model1    ip1
    model2    ip1
    第二次循环
    model1    ip2
    model2    ip2
    第三次循环
    model1    ip3
    model2    ip3
      

  7.   

    你竟然按ip去排序,我晕,获取ip怎么可能有规律性呢,我只是为了演示,才写的ip1 ip2  。
      

  8.   

    难道还是我没表达清楚?好吧,再清楚点kvp.Key1  111.11.11.1
    kvp.Key1  123.42.74.0
    kvp.Key1  413.140.44.4
    kvp.Key2  88.442.4.44
    kvp.Key2  12.414.0.4
    kvp.Key2  23.42.44.1想要的结果是  count=3
    第一次循环
    kvp.Key1  111.11.11.1
    kvp.Key2  88.442.4.44
    第二次循环
    kvp.Key1  123.42.74.0
    kvp.Key2  12.414.0.4
    第三次循环
    kvp.Key1  413.140.44.4
    kvp.Key2  23.42.44.1