List<T>保存数据,实现自定义排序 List<T>.Sort(IComparer<T>) public class StudentComparer : IComparer<Student> { public enum CompareType { Name, Age, Grade } private CompareType type; public StudentComparer(CompareType type) { this.type = type; } public int Compare(Student x, Student y) { switch(this.type) { case CompareType.Name: return x.Name.CompareTo(y.Name); case CompareType.Age: return x.Age.CompareTo(y.Age); default: return x.Grade.CompareTo(y.Grade); } } }
你没学过数据库吗,这个问题如果学过数据库的话应该很容易写出来的!using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace ConsoleApplication1 { class Program { //这3条数据用来保存员工的工号和年龄信息 int[] age = new int[3] { 19, 23, 20 }; int[] employeeNumber = new int[3] { 3, 2, 1 }; public Program() { List<Employee> employeeList = new List<Employee>(); for (int i = 0; i < age.Length; i++) { Employee e = new Employee(employeeNumber[i], age[i]); //将数组中的所有数据添加到list中 employeeList.Add(e); } for (int i = 0; i < employeeList.Count-1; i++) { for (int j = i+1; j < employeeList.Count; j++) { //根据年龄排序的同时,因为是实体数据,所以工号会和年龄对应 if (employeeList[i].age > employeeList[j].age) { Employee temp = employeeList[i]; employeeList[i] = employeeList[j]; employeeList[j] = temp; } } } for (int i = 0; i < employeeList.Count; i++) { Console.WriteLine("Age:" + employeeList[i].age); Console.WriteLine("EmployeeNo:" + employeeList[i].employeeNumber); Console.WriteLine("-----------------------------------------------"); } } static void Main() { Program p1 = new Program(); Console.ReadLine(); } } class Employee { public int employeeNumber; public int age; public Employee(int employeeNumber, int age) { this.employeeNumber = employeeNumber; this.age = age; } }}
这个用sql语句查不就出来了么? select 职工号,姓名 from employee order by 职工号 desc
--这个用sql语句查不就出来了么? --中文用括号括起来 select [职工号],[姓名] from employee order by [职工号] desc
--这个用sql语句查不就出来了么? --中文用括号括起来,还有就是全角的逗号","要用半角的"," select [职工号],[姓名] from employee order by [职工号] desc
--这个用sql语句查不就出来了么? --中文用括号括起来,还有就是全角的逗号","要用半角的"," select [职工号],[姓名] from employee order by [职工号] desc
List<T>.Sort(IComparer<T>)
public class StudentComparer : IComparer<Student>
{
public enum CompareType
{
Name,
Age,
Grade
}
private CompareType type;
public StudentComparer(CompareType type)
{
this.type = type;
}
public int Compare(Student x, Student y)
{
switch(this.type)
{
case CompareType.Name:
return x.Name.CompareTo(y.Name);
case CompareType.Age:
return x.Age.CompareTo(y.Age);
default:
return x.Grade.CompareTo(y.Grade);
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication1
{
class Program
{
//这3条数据用来保存员工的工号和年龄信息
int[] age = new int[3] { 19, 23, 20 };
int[] employeeNumber = new int[3] { 3, 2, 1 }; public Program()
{
List<Employee> employeeList = new List<Employee>();
for (int i = 0; i < age.Length; i++)
{
Employee e = new Employee(employeeNumber[i], age[i]);
//将数组中的所有数据添加到list中
employeeList.Add(e);
} for (int i = 0; i < employeeList.Count-1; i++)
{
for (int j = i+1; j < employeeList.Count; j++)
{
//根据年龄排序的同时,因为是实体数据,所以工号会和年龄对应
if (employeeList[i].age > employeeList[j].age)
{
Employee temp = employeeList[i];
employeeList[i] = employeeList[j];
employeeList[j] = temp;
}
}
}
for (int i = 0; i < employeeList.Count; i++)
{
Console.WriteLine("Age:" + employeeList[i].age);
Console.WriteLine("EmployeeNo:" + employeeList[i].employeeNumber);
Console.WriteLine("-----------------------------------------------");
}
} static void Main()
{
Program p1 = new Program();
Console.ReadLine();
}
}
class Employee
{
public int employeeNumber;
public int age; public Employee(int employeeNumber, int age)
{
this.employeeNumber = employeeNumber;
this.age = age;
}
}}
select 职工号,姓名 from employee order by 职工号 desc
--这个用sql语句查不就出来了么?
--中文用括号括起来
select [职工号],[姓名] from employee order by [职工号] desc
--这个用sql语句查不就出来了么?
--中文用括号括起来,还有就是全角的逗号","要用半角的","
select [职工号],[姓名] from employee order by [职工号] desc
--中文用括号括起来,还有就是全角的逗号","要用半角的","
select [职工号],[姓名] from employee order by [职工号] desc