Nolanamy 2017-09-01 03:14 采纳率: 12.5%
浏览 2004
已采纳

c#2个泛型集合找到某字段重复项,怎么做,谢谢

2个泛型集合
List st=new List();
包含3个字段 姓名 班级 成绩
如:
凯特琳 女 90
崔斯特 男 85
嘉文 男 80
维恩 女 95
韦鲁斯 男 80

List pl=new List();
包含3个字段 姓名 项目 年龄
如:
凯特琳 射击 25
维恩 跳高 24

我怎样找到这2个集合的都存在的项,谢谢

  • 写回答

3条回答 默认 最新

  • zbbfb2001 2017-09-01 08:46
    关注

    不好意思,应该是Join operator -_-||
    例子如下:

    class Person
    {
        public string Name { get; set; }
        public string Gender { get; set; }
        public int Age { get; set; }
    
        public Person(string name, string gender, int age)
        {
            Name = name;
            Gender = gender;
            Age = age;
        }
    }
    
    class ScoreCard
    {
        public string Name { get; set; }
        public string Sports { get; set; }
        public int Score { get; set; }
    
        public ScoreCard(string name, string sports, int score)
        {
            Name = name;
            Sports = sports;
            Score = score;
        }
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            var persons = new List<Person>
            {
                new Person("凯特琳", "女", 90),
                new Person("崔斯特", "男", 85),
                new Person("嘉文", "男", 80),
                new Person("维恩", "女", 95),
                new Person("韦鲁斯", "男", 80)
            };
    
            var scoreCards = new List<ScoreCard>
            {
                new ScoreCard("凯特琳", "射击", 25),
                new ScoreCard("维恩", "跳高", 24)
            };
    
            var query = persons.Join(scoreCards,
                p => p.Name,
                sc => sc.Name,
                (p, sc) => new { p.Name, p.Gender, p.Age, sc.Sports, sc.Score });
    
            foreach (var item in query)
            {
                Console.WriteLine("{0} {1} {2} {3} {4}",
                    item.Name, item.Gender, item.Age, item.Sports, item.Score);
            }
    
        }
    }
    
        ==========================
    
        输出如下:
        凯特琳 女 90 射击 25
        维恩 女 95 跳高 24
    

    不知是不是即使你现在遇到的问题?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?