1、筛选数组studentArray,筛选条件是名字中包含‘o’的学生信息,并且年龄大于20,将满足条件的学生信息输出到命令行
class Student{
public int StudentID { get; set; }
public String StudentName { get; set; }
public int Age { get; set; }
}class Program{
static void Main(string[] args) {
Student[] studentArray = {
new Student() { StudentID = 1, StudentName = "John", Age = 18 },
new Student() { StudentID = 2, StudentName = "Steve", Age = 21 },
new Student() { StudentID = 3, StudentName = "Bill", Age = 25 },
new Student() { StudentID = 4, StudentName = "Ram" , Age = 20 },
new Student() { StudentID = 5, StudentName = "Ron" , Age = 31 },
new Student() { StudentID = 6, StudentName = "Chris", Age = 17 },
new Student() { StudentID = 7, StudentName = "Rob",Age = 19 },
};
//待补全...
}
}
这里待补全代码如下
var query = from student in studentArray
where student.Age >20 && student.StudentName.Contains("o")
select student;
foreach (var s in query)
{
Console.WriteLine(s.StudentName);
Console.WriteLine(s.Age);
}
2、将数组studentArray排序,要求根据年龄排序,如果年龄相同,根据StudentID排序,将排序后的学生信息输出到命令行
这里由于没有说怎么去排序,所以按照年龄升序,年龄相同按照ID升序
class Student{
public int StudentID { get; set; }
public String StudentName { get; set; }
public int Age { get; set; }
}class Program{
static void Main(string[] args) {
Student[] studentArray = {
new Student() { StudentID = 1, StudentName = "John", Age = 18 },
new Student() { StudentID = 2, StudentName = "Steve", Age = 21 },
new Student() { StudentID = 3, StudentName = "Bill", Age = 25 },
new Student() { StudentID = 4, StudentName = "Ram" , Age = 21 },
new Student() { StudentID = 5, StudentName = "Ron" , Age = 31 },
new Student() { StudentID = 6, StudentName = "Chris", Age = 17 },
new Student() { StudentID = 7, StudentName = "Rob",Age = 19 },
};
//待补全...
}
}
待补全代码部分
var query = from student in studentArray
orderby student.Age ascending, student.StudentID ascending
select student;
foreach (var s in query)
{
Console.WriteLine("{0} {1} {2}",s.StudentID,s.StudentName,s.Age);
}
3、根据SudentID进行分组,输出SudengtId分别为奇数/偶数的学生信息
class Student{
public int StudentID { get; set; }
public String StudentName { get; set; }
public int Age { get; set; }
}class Program{
static void Main(string[] args) {
Student[] studentArray = {
new Student() { StudentID = 1, StudentName = "John", Age = 18 },
new Student() { StudentID = 2, StudentName = "Steve", Age = 21 },
new Student() { StudentID = 3, StudentName = "Bill", Age = 25 },
new Student() { StudentID = 4, StudentName = "Ram" , Age = 21 },
new Student() { StudentID = 5, StudentName = "Ron" , Age = 31 },
new Student() { StudentID = 6, StudentName = "Chris", Age = 17 },
new Student() { StudentID = 7, StudentName = "Rob",Age = 19 },
};
//待补全...
}
}
待补全代码如下
var query = from student in studentArray
group student by student.StudentID % 2;
foreach (var s in query)
{
Console.WriteLine(s.Key == 0 ? "偶数" :"奇数");
foreach (var i in s)
Console.WriteLine("{0} {1} {2}", i.StudentID, i.StudentName, i.Age);
}
4、输出sudengtArray信息,要求不输出SudengtID字段,输出SudengtName和Age,其中SudengtName要求根据Gender增加Mr. 和Ms. 前缀
class Student{
public int StudentID { get; set; }
public String StudentName { get; set; }
public int Age { get; set; }
public String Gender { get; set; }
}class Program{
static void Main(string[] args) {
Student[] studentArray = {
new Student() { StudentID = 1, StudentName = "John", Age = 18, Gender = "Male" },
new Student() { StudentID = 2, StudentName = "Steve", Age = 21, Gender = "Male" },
new Student() { StudentID = 3, StudentName = "Bill", Age = 25, Gender = "Male" },
new Student() { StudentID = 4, StudentName = "Ram" , Age = 21, Gender = "Male" },
new Student() { StudentID = 5, StudentName = "Ron" , Age = 31, Gender = "Female" },
new Student() { StudentID = 6, StudentName = "Chris", Age = 17, Gender = "Female" },
new Student() { StudentID = 7, StudentName = "Rob",Age = 19, Gender = "Male" },
};
//待补全...
}
}
待补全代码如下
var query = from student in studentArray
select student;
foreach (var s in query)
{
if (s.Gender != "Male")
{
Console.WriteLine("{0} {1} {2}","Ms.",s.StudentName, s.Age);
}
else
{
Console.WriteLine("{0} {1} {2}", "Mr.",s.StudentName, s.Age);
}
}