案例1:
namespace e1
{
public enum Genders
{
Male,
Female
}
class Student
{
public Student(string name, int age, Genders gender, string hobby, int popularity)
{
this.name = name;
this.age = age;
this.gender = gender;
this.hobby = hobby;
this.popularity = popularity;
}
private string name;
public string Name
{
set { name = value; }
get { return name; }
}
private int age;
public int Age
{
set
{
if (value >= 18 && value <= 120)
{
age = value;
}
else
{
age = 18;
}
}
get { return age; }
}
private Genders gender;
public Genders Gender
{
set { gender = value; }
get { return gender; }
}
private string hobby;
public string Hobby
{
set { hobby = value; }
get { return hobby; }
}
private int popularity;
public int Popularity
{
set { popularity = value; }
get { return popularity; }
}
public void SayHi()
{
Console.WriteLine("姓名:{0},年龄:{1},性别:{2},爱好:{3},受欢迎度:{4}",name,age,gender,hobby,popularity);
}
}
}
——————————————————————————————————————————————————————
namespace e1
{
class Program
{
static void Main(string[] args)
{
Hashtable ht = new Hashtable();
Student zhang = new Student("张三", 25, Genders.Male, "唱唱歌", 100);
Student jay = new Student("周杰杰", 29, Genders.Female, "双截棍", 101);
Student lisi = new Student("李四", 28, Genders.Female, "跳舞", 111);
//ArryList、HashTable的方法所添加的元素无论你给他传递的是什么类型数据
//他都会做一个隐式的装箱操作,将它转换为Object类型
/*微软在设计的集合类的时候希望集合存放所有的数据类型,所以将object类型作为
* 集合类的元素类型*/
ht.Add(zhang.Name, zhang);
ht.Add(jay.Name, jay);
ht.Add(lisi.Name, lisi);
//取值
//Student stu = (Student)ht["周杰杰"];
//stu.SayHi();
//删除
Console.WriteLine("删除前元素的个数" + ht.Count);
ht.Remove(lisi.Name);
Console.WriteLine("删除后元素的个数" + ht.Count);
//遍历哈希表的键
Console.WriteLine("遍历所有键:");
foreach (object obj in ht.Keys)
{
Console.WriteLine(obj.ToString());
}
Console.WriteLine("遍历所有值:");
foreach (object obj in ht.Values)
{
//ArrayList,HashTable取值的时候,由于将所存放的元素转换成object所以取出来的
//时候值肯定是一个object类型。假设添加的时候是一个自定义类型,那么使用object
//类型是不能够调用自定义类型的成员的,所有需要做强制类型转换后才能调用!
Student stu = (Student)obj;
Console.WriteLine(stu.Name);
}
//遍历键和值
foreach (object obj in ht.Keys)
{
string key = obj.ToString();
Student stu = (Student)ht[key];
stu.SayHi();
}
Console.ReadKey();
}
}
}
——————————————————————————————————————————————————————————————————————————————————————
案例2
namespace e2
{
public enum Genders
{
Male,
Female
}
class Student
{
public Student(string name, int age, Genders gender, string hobby, int popularity)
{
this.name = name;
this.age = age;
this.gender = gender;
this.hobby = hobby;
this.popularity = popularity;
}
private string name;
public string Name
{
set { name = value; }
get { return name; }
}
private int age;
public int Age
{
set
{
if (value >= 18 && value <= 120)
{
age = value;
}
else
{
age = 18;
}
}
get { return age; }
}
private Genders gender;
public Genders Gender
{
set { gender = value; }
get { return gender; }
}
private string hobby;
public string Hobby
{
set { hobby = value; }
get { return hobby; }
}
private int popularity;
public int Popularity
{
set { popularity = value; }
get { return popularity; }
}
public void SayHi()
{
Console.WriteLine("姓名:{0},年龄:{1},性别:{2},爱好:{3},受欢迎度:{4}",name,age,gender,hobby,popularity);
}
}
}
————————————————————————————————————————
namespace e2
{
class Teacher
{
private string name;
private decimal salary;
private int serviceOfYear;
public Teacher(string name, decimal salary,int serviceOfYear)
{
this.name = name;
this.salary = salary;
this.serviceOfYear=serviceOfYear;
}
public void SayHi()
{
Console.WriteLine("姓名:{0},薪水:{1},工作年限:{2}",name,salary,serviceOfYear);
}
}
}
————————————————————————————————————————————————————
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace e2
{
class Program
{
static void Main(string[] args)
{
/*ArrayList是非泛型集合,存放在该集合内的元素会转换为object类型
/*我们可以在该集合存放的任意数据类型,这样不能保证数据的安全性
/*因此微软引入了饭型的概念,与ArrayList对应的泛型集合?List<>*/
ArrayList arr = new ArrayList();
Student zhang = new Student("张三", 25, Genders.Male, "唱唱歌", 100);
Student jay = new Student("周杰杰", 29, Genders.Female, "双截棍", 101);
Teacher tea = new Teacher("钱七", 7500, 4);
arr.Add(zhang);
arr.Add(tea);
//foreach (Student stu in arr)
//{
// Student s = (Student)obj;
// stu.SayHi();
//}
//创建泛型集合
//List<Teacher> liTeacher = new List<Teacher>();
//List<int> listint = new List<int>();
List<Student> liStudent = new List<Student>();
Console.ReadKey();
}
}
}
—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
案例3:
namespace e3
{
class Teacher
{
private string name;
private decimal salary;
private int serviceOfYear;
public Teacher(string name, decimal salary,int serviceOfYear)
{
this.name = name;
this.salary = salary;
this.serviceOfYear = serviceOfYear;
}
public void SayHi()
{
Console.WriteLine("姓名:{0},薪水:{1},工作年限:{2}",name,salary,serviceOfYear);
}
}
}
————————————————————————————————————————————
namespace e3
{
public enum Genders
{
Male,
Female
}
class Student
{
public Student(string name, int age, Genders gender, string hobby, int popularity)
{
this.name = name;
this.age = age;
this.gender = gender;
this.hobby = hobby;
this.popularity = popularity;
}
private string name;
public string Name
{
set { name = value; }
get { return name; }
}
private int age;
public int Age
{
set
{
if (value >= 18 && value <= 120)
{
age = value;
}
else
{
age = 18;
}
}
get { return age; }
}
private Genders gender;
public Genders Gender
{
set { gender = value; }
get { return gender; }
}
private string hobby;
public string Hobby
{
set { hobby = value; }
get { return hobby; }
}
private int popularity;
public int Popularity
{
set { popularity = value; }
get { return popularity; }
}
public void SayHi()
{
Console.WriteLine("姓名:{0},年龄:{1},性别:{2},爱好:{3},受欢迎度:{4}",name,age,gender,hobby,popularity);
}
}
}
————————————————————————————————————————————————
namespace e3
{
class Program
{
static void Main(string[] args)
{
List<Student> list = new List<Student>();
Student zhang = new Student("张三", 25, Genders.Male, "唱唱歌", 100);
Student jay = new Student("周杰杰", 29, Genders.Female, "双截棍", 101);
Student lisi = new Student("李四", 28, Genders.Female, "跳舞", 111);
list.Add(zhang);
list.Add(jay);
list.Add(lisi);
/*非泛型集合如:ArrayList,存取操作的时候会大量的进行装箱和拆箱的操作
* 这样非常的消耗性能,泛型集合避免了频繁的装箱和拆箱的操作,提高了程序的性能!
* */
foreach (Student stu in list)
{
stu.SayHi();
}
list.Remove(zhang);
list.RemoveAt(0);
Console.WriteLine("\n删除操作后:");
foreach (Student stu in list)
{
stu.SayHi();
}
Console.ReadKey();
}
}
}
——————————————————————————————————————————————————————————————————————————————————————————————————————————————
案例4:
namespace e4
{
public enum Genders
{
Male,
Female
}
class Student
{
public Student(string name, int age, Genders gender, string hobby, int popularity)
{
this.name = name;
this.age = age;
this.gender = gender;
this.hobby = hobby;
this.popularity = popularity;
}
private string name;
public string Name
{
set { name = value; }
get { return name; }
}
private int age;
public int Age
{
set
{
if (value >= 18 && value <= 120)
{
age = value;
}
else
{
age = 18;
}
}
get { return age; }
}
private Genders gender;
public Genders Gender
{
set { gender = value; }
get { return gender; }
}
private string hobby;
public string Hobby
{
set { hobby = value; }
get { return hobby; }
}
private int popularity;
public int Popularity
{
set { popularity = value; }
get { return popularity; }
}
public void SayHi()
{
Console.WriteLine("姓名:{0},年龄:{1},性别:{2},爱好:{3},受欢迎度:{4}",name,age,gender,hobby,popularity);
}
}
}
————————————————————————————————————————————————————
namespace e4
{
class Program
{
static void Main(string[] args)
{
Dictionary<string, Student> dict = new Dictionary<string, Student>();
Student zhang = new Student("张三", 25, Genders.Male, "唱唱歌", 100);
Student jay = new Student("周杰杰", 29, Genders.Female, "双截棍", 101);
Student lisi = new Student("李四", 28, Genders.Female, "跳舞", 111);
dict.Add(zhang.Name,zhang);
dict.Add(jay.Name,jay);
dict.Add(lisi.Name,lisi);
//遍历所有的键
Console.WriteLine("遍历所有的键:");
foreach (string key in dict.Keys)
{
Console.WriteLine(key);
}
//遍历所有的值
Console.WriteLine("\n遍历所有的值:");
foreach (Student value in dict.Values)
{
value.SayHi();
}
//遍历所有的键和值
Console.WriteLine("\n遍历所有的键和值:");
foreach (string key in dict.Keys)
{
Student stu = dict[key];
Console.WriteLine("key:{0},value:{1}", key, stu.Age);
}
Console.ReadKey();
}
}
}