当前位置:编程学习 > C#/ASP.NET >>

泛型集合取固定值问题!续

今天上午我在坛子里发了一个帖,求代码求真相,[
http://topic.csdn.net/u/20100709/11/da61edf5-f5f8-4a6a-85a5-9d258b387db9.html

健值对的方案不可取,因为发现页码可能会一致]这样的话,key会重复。
问题仍然如上:

我有一个字符串型的泛型集合,具有这些特点,[第一页,string,string,string,第一页,string,string,string,第三页,string,string,string].

我现在需要做的是,当我发现其中某一个string 出现问题后,知道它是第几页的,根据取值的特点,泛型集合是foreach 一个页面中的N个对象,然后再进行下一页读取。
所以就会出现,某一页中出现N组数据的现象。请问各位有没有其它的解决方案。 --------------------编程问答-------------------- 不理解题目,帮你顶起来。 --------------------编程问答-------------------- 放入一个实体类中,行不? --------------------编程问答-------------------- 方案是可取的,要不你把key都设置为不可能重复的。
第一页+...
第一页+...
--------------------编程问答--------------------
引用 3 楼 zhengqian529 的回复:
方案是可取的,要不你把key都设置为不可能重复的。
第一页+...
第一页+...

没太明白,请指教! --------------------编程问答-------------------- skip().Take获取下一页数据
--------------------编程问答--------------------
引用 5 楼 wuyq11 的回复:
skip().Take获取下一页数据


不是跳过,还是要取这个数据。就算是同一页的。 --------------------编程问答--------------------
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using System.Linq;

namespace CSharpConsole01
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] data = new string[] { "第一页", "aa", "bb", "第一页", "cc", "dd", "第二页", "ee", "ff" };
            int page = GetPage(data, "dd");
            if (page == -1)
            {
                Console.WriteLine("page not found.");
            }
            else
            {
                Console.WriteLine(data[GetPage(data, "dd")]);
            }
            Console.ReadKey();
        }
        public static int GetPage(string[] data,string item)
        {
            int item_index = Array.IndexOf(data, item);
            while (item_index-- > 0)
            {
                if (data[item_index][0] == '第' && data[item_index][2] == '页')
                {
                    return item_index;
                }
            }
            return -1;
        }
    }
}
--------------------编程问答-------------------- 更改一下

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using System.Linq;

namespace CSharpConsole01
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] data = new string[] { "第一页", "aa", "bb", "第一页", "cc", "dd", "第二页", "ee", "ff" };
            int page = GetPage(data, "dd");
            if (page == -1)
            {
                Console.WriteLine("page not found.");
            }
            else
            {
                Console.WriteLine(data[page]);
            }
            Console.ReadKey();
        }
        public static int GetPage(string[] data,string item)
        {
            int item_index = Array.IndexOf(data, item);
            while (item_index-- > 0)
            {
                if (data[item_index][0] == '第' && data[item_index][2] == '页')
                {
                    return item_index;
                }
            }
            return -1;
        }
    }
}
--------------------编程问答-------------------- 如果数据是这样的怎么办?
string[] data = new string[] { "第一页", "aa", "bb", "第一页", "aa", "bb",  "第二页", "aa", "bb" };
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,