用来比较学生的成绩的最大值,输出成绩最大的学生的姓名和成绩。使用了List 与 Dictionary,维数使用的是二维
//获取二维数组中最大值和其姓名
//Dictionary
Dictionary<string,int>dict=new Dictionary<string,int>();
Dictionary<string,int>dictmax=new Dictionary<string,int>();
dict.Add("a",5);
dict.Add("b",3);
dict.Add("c",8);
int a=dict.Values.Max();
var item = dict.Where(x => x.Value == a).ToList();
Console.WriteLine("name:{0} score:{1}",item[0].Key,item[0].Value);
//Student List<Student>
Student s1 = new Student();
Student s2 = new Student();
Student s3 = new Student();
List<Student> ss = new List<Student>();
s1.name = "a";
s1.age = 5;
s2.name = "b";
s2.age = 3;
s3.name = "c";
s3.age = 8;
ss.Add(s1);
ss.Add(s2);
ss.Add(s3);
int max = ss.Max(x => x.age);
var ssmax = ss.Where(m => m.age == max).ToList();
Console.WriteLine("name:{0} age:{1}",ssmax[0].name,ssmax[0].age.ToString());
var ssmax1 = ss.Where(m => m.age == max).FirstOrDefault();
Console.WriteLine("name:{0} age:{1}", ssmax1.name, ssmax1.age);
var ssmax2 = ss.OrderByDescending(x => x.age).FirstOrDefault();
Console.WriteLine("name:{0} age:{1}", ssmax2.name, ssmax2.age);
//Array
string[,] array = new string[3, 2];
array[0, 0] = "a";
array[0, 1] = "8";
array[1, 0] = "b";
array[1, 1] = "3";
array[2, 0] = "c";
array[2, 1] = "5";
int[] socre = new int[3];
string[] name = new string[3];
for (int i = 0; i < array.GetLength(0); i++)
{
socre[i] = int.Parse(array[i, 1]);
name[i] = array[i, 0];
}
int arraymax = socre.Max();
for (int i = 0; i < array.GetLength(0); i++)
{
if (int.Parse(array[i, 1])== arraymax)
{
Console.WriteLine("name:{0} age:{1}", array[i, 0], array[i, 1]);
}
}
//arraylist
ArrayList arraylist = new ArrayList();
arraylist.Add("a");
// Array 的命名空间是 System
Array arr = Array.CreateInstance(System.Type.GetType("System.Int32"), 3); // Array 是抽象类,不能使用 new Array 创建。
arr.SetValue(1, 0);
arr.SetValue(2, 1);
arr.SetValue(3, 2);