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

很难的 数组结果比较问题,高手进,谢谢

  // 举例:(\t即为TAB分隔符)
            // job的录入结果 AAA\tBBB\tCCC
            // 历史记录1结果 AAA\tDDD\tEEE
            // 历史记录2结果 BBB\tFFF\tCCC

            // 则输出结果  AAA\t\tCCC

结果先变成 数组,然后再进行比较
job记录与 历史记录比较,如  job[i]与历史记录1[i]比较,如果相等,接着比,否则跟历史2对应项目比较
注意: 比较过相等的 job记录项,下次比较时候不再进行比较,求算法,谢谢 --------------------编程问答-------------------- 自己顶下,急啊 --------------------编程问答-------------------- 没人呢?没人呢? --------------------编程问答-------------------- 实在是看不懂你说什么 --------------------编程问答-------------------- 实在不懂你说的什么,。。。。看你这个标题进来,一头雾水 --------------------编程问答-------------------- 你说的相等则继续比较,那这么说你历史记录1、2都不符合要求,// 则输出结果  AAA\t\tCCC 这个是怎么出来的 --------------------编程问答-------------------- 你的题我大致才出来了,最后的“注意”我还没太明白什么意思。 --------------------编程问答--------------------
 string job = "AAA\tBBB\tCCC";
            string 历史记录1 = "AAA\tDDD\tEEE";
            string 历史记录2 = "BBB\tFFF\tCCC";

            string[] jobList = job.Split('\t');
            string[] 历史记录1List = 历史记录1.Split('\t');
            string[] 历史记录2List = 历史记录2.Split('\t');

            for (int i = 0; i < jobList.Length && i < 历史记录1List.Length; i++)
            {
                if (jobList[i] == 历史记录1List[i])
                {
                    continue;
                }
                else
                {
                    for (int j = 0; j < 历史记录2List.Length; j++)
                    {
                        if (jobList[i] == 历史记录2List[j])
                        {
                            break;
                        }
                    }
                }
            }
--------------------编程问答--------------------
string job = "AAA\tBBB\tCCC";
string 历史记录1 = "AAA\tDDD\tEEE";
string 历史记录2 = "BBB\tFFF\tCCC";
string result = string.Join("\t", job.Split('\t').Zip(历史记录1.Split('\t'), (x, y) => new { x, y })
                               .Zip(历史记录2.Split('\t'), (x, z) => new { x.x, x.y, z })
                               .Where(x => x.x == x.y || x.x == x.z)
                               .Select(x => x.x).ToArray());
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,