日期:2014-05-17  浏览次数:21075 次

多对数(a,b),(x,y),(a,b)等我用什么来存储根据第一个数能方便的查找到第二个数?
如题,有多组数:a,b一组;x,y一组;a,c一组;a,b一组;x,b一组;
我用什么来存放这些数据,能够根据一组中的第一个数查找到第二个数呢?

------解决方案--------------------
词典?
------解决方案--------------------
            List<cs1> crosspicList = new List<cs1>();

            cs1 pupd = crosspicList.Find(delegate(cs1) { return (p.Field1== "a"); });

------解决方案--------------------
楼主是要这样的吗?
  var arry = new Array[] { new string[] { "a", "b" }, new string[] { "x", "y" }, new string[] { "a", "c" }, new string[] { "a", "b" }, new string[] { "x", "b" } };
 //查找第一个是"a"的所有数组的第二个值
            var second = arry.Where(x => x.GetValue(0).ToString() == "a").Select(x=>x.GetValue(1)).ToList();

------解决方案--------------------
或者这样,如果数组是int型的,改成int型就可以了

 var arry = new Array[] { new string[] { "a", "b" }, new string[] { "x", "y" }, new string[] { "a", "c" }, new string[] { "a", "b" }, new string[] { "x", "b" } };
//查找第一个是"a"的所有数组的第二个值
            var second = (from q in arry
                         where q.GetValue(0).ToString() == "a"
                         select q.GetValue(1)).ToList();

------解决方案--------------------
用Dictionary<TKey, List<TValue>>