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();