认识 Linq

            List<Student> Students = new StudentDbProvider().StudentOperation.Get().ToList();
            List<StudentScore> csScores = new StudentDbProvider().StudentScoreOperation.Get("C#").ToList();
            List<StudentScore> dbScores = new StudentDbProvider().StudentScoreOperation.Get("DB").ToList();
            //查询查询课程总分和平均分 ---非Linq方式
            int csScoreSum = 0;
            int dbScoreSum = 0;
            double csScoreAvg = 0.0;
            double dbScoreAvg = 0.0;
            foreach (StudentScore csScore in csScores)
            {
                csScoreSum += Convert.ToInt32(csScore.Score);
            }

            foreach (StudentScore dbScore in dbScores)
            {
                dbScoreSum += Convert.ToInt32(dbScore.Score);
            }
            csScoreAvg = csScoreSum / Students.Count();
            dbScoreAvg = dbScoreSum / Students.Count();

            Console.WriteLine("C#课程分总和:" + csScoreSum + "平均分:" + csScoreAvg);
            Console.WriteLine("DB课程分总和:" + dbScoreSum + "平均分:" + dbScoreAvg);
            Console.ReadLine();

            //查询查询课程总分和平均分 ---Linq方式
            Console.WriteLine("C#课程分总和:{0}平均分:{1}", csScores.Sum(c=>c.Score),csScores.Average(c=>c.Score));
            Console.WriteLine("DB课程分总和:{0}平均分:{1}", dbScores.Sum(c => c.Score), dbScores.Average(c => c.Score));
            Console.ReadLine();

            //根据学生查询各学科的总分和平均分 ---非Linq方式
            List<StudentScoreReport> Reports = new List<StudentScoreReport>();
            foreach (Student student in Students)
            {
                StudentScoreReport report = new StudentScoreReport();
                report.StudentId = student.Id;
                report.Name = student.Name;
                foreach (StudentScore csScore in csScores)
                {
                    if (csScore.Id == student.Id)
                    {
                        report.ScoreSum += csScore.Score;
                        break;
                    }
                }
                foreach (StudentScore dbScore in dbScores)
                {
                    if (dbScore.Id == student.Id)
                    {
                        report.ScoreSum += dbScore.Score;
                        break;
                    }
                }
                report.ScoreAvg = report.ScoreSum / 2;
                Reports.Add(report);
            }

            foreach (StudentScoreReport report in Reports)
            {
                Console.WriteLine("学生:{0} 的总分:{1},平均分:{2}", report.Name, report.ScoreSum, report.ScoreAvg);
            }
            Console.ReadLine();

            //根据学生查询各学科的总分和平均分 ---Linq方式
            var studentScoreQuery = from student in Students
                                    join csScore in csScores on student.Id equals csScore.Id
                                    join dbScore in dbScores on student.Id equals dbScore.Id
                                    select new
                                    {
                                        ID = student.Id,
                                        Name = student.Name,
                                        ScoreSum = csScore.Score + dbScore.Score,
                                        ScoreAvg = (csScore.Score + dbScore.Score) / 2
                                    };
            foreach (var studentScore in studentScoreQuery)
            {
                Console.WriteLine("学生:{0} 的总分:{1},平均分:{2}", studentScore.Name, studentScore.ScoreSum, studentScore.ScoreAvg);
            }
            Console.ReadLine();

            //扩展类
            int Money=123456789;
            double p = 0.1029;
            Console.WriteLine(Money.FormatMoney());
            Console.WriteLine(p.FormatPercent());
            Console.ReadLine(); 

  

猜你喜欢

转载自www.cnblogs.com/ifordream/p/9217231.html