C#基础第七天-作业答案-利用面向对象的思想去实现名片-动态添加
class Card { private string name; public string Name { get { return name; } set { name = value; } } private string age; public string Age { get { return age; } set { age = value; } } private string sex; public string Sex { get { return sex; } set { sex = value; } } private string interest; public string Interest { get { return interest; } set { interest = value; } } private string telephone; public string Telephone { get { return telephone; } set { telephone = value; } } DataTable table = new DataTable(); public Card() { //DataTable table = new DataTable(); table.Columns.Add("姓名"); table.Columns.Add("年龄"); table.Columns.Add("性别"); table.Columns.Add("爱好"); table.Columns.Add("联系方式"); table.PrimaryKey = new DataColumn[] { table.Columns["姓名"] }; DataRow row = table.NewRow(); row["姓名"] = "小明"; row["年龄"] = "22"; row["性别"] = "男"; row["爱好"] = "足球"; row["联系方式"] = "123456"; table.Rows.Add(row); } // public Card() { } public void Add(string name) { if (!(table.Rows.Contains(name))) { Console.WriteLine("请输入年龄:"); string age = Console.ReadLine(); Console.WriteLine("请输入性别:"); string sex = Console.ReadLine(); Console.WriteLine("请输入爱好:"); string interest = Console.ReadLine(); Console.WriteLine("请输入联系方式:"); string telephone = Console.ReadLine(); DataRow row = table.NewRow(); row["姓名"] = name; row["年龄"] = age; row["性别"] = sex; row["爱好"] = interest; row["联系方式"] = telephone; table.Rows.Add(row); Console.WriteLine("添加成功!"); } else { Console.WriteLine("人名重复!"); } } public void Select(string name) { if (table.Rows.Contains(name)) { for (int i = 0; i < table.Columns.Count; i++) { Console.Write(table.Columns[i] + "\t"); } Console.WriteLine(); Console.WriteLine(table.Rows.Find(name)["姓名"].ToString() + "\t" + table.Rows.Find(name)["年龄"].ToString() + "\t" + table.Rows.Find(name)["性别"].ToString() + "\t" + table.Rows.Find(name)["爱好"].ToString() + "\t" + table.Rows.Find(name)["联系方式"].ToString()); } else { Console.WriteLine("查无此人!"); } } public void SelectAll() { Console.WriteLine("你想要查找的信息如下:"); for (int i = 0; i < table.Columns.Count; i++) { Console.Write(table.Columns[i] + "\t"); } Console.WriteLine(); for (int i = 0; i < table.Rows.Count; i++) { Console.WriteLine(table.Rows[i]["姓名"] + "\t" + table.Rows[i]["年龄"] + "\t" + table.Rows[i]["性别"] + "\t" + table.Rows[i]["爱好"] + "\t" + table.Rows[i]["联系方式"]); } Console.WriteLine(); } public void Delete(string name) { if (table.Rows.Contains(name)) { table.Rows.Remove(table.Rows.Find(name)); Console.WriteLine("删除成功!"); } else { Console.WriteLine("查无此人!"); } } public void Update(string name) { if (table.Rows.Contains(name)) { Console.WriteLine("请输入年龄:"); string age = Console.ReadLine(); Console.WriteLine("请输入性别:"); string sex = Console.ReadLine(); Console.WriteLine("请输入爱好:"); string interest = Console.ReadLine(); Console.WriteLine("请输入联系方式:"); string telephone = Console.ReadLine(); int index = table.Rows.IndexOf(table.Rows.Find(name)); table.Rows[index]["年龄"] = age; table.Rows[index]["性别"] = sex; table.Rows[index]["爱好"] = interest; table.Rows[index]["联系方式"] = telephone; for (int i = 0; i < table.Columns.Count; i++) { Console.Write(table.Columns[i] + "\t"); } Console.WriteLine(); Console.WriteLine("修改成功,信息如下"); Console.WriteLine(table.Rows[index]["姓名"].ToString() + "\t" + table.Rows[index]["年龄"].ToString() + "\t" + table.Rows[index]["性别"].ToString() + "\t" + table.Rows[index]["爱好"].ToString() + "\t" + table.Rows[index]["联系方式"].ToString()); Console.WriteLine("修改成功!"); } else { Console.WriteLine("查无此人!"); } } public void AddMore() { while (true) { Console.WriteLine("是否要批量增加Y/N"); string choice = Console.ReadLine(); if ("Y".Equals(choice)) { Console.WriteLine("请输入你要增加的人的姓名"); string name = Console.ReadLine(); if (!(table.Rows.Contains(name))) { Console.WriteLine("请输入年龄:"); string age = Console.ReadLine(); Console.WriteLine("请输入性别:"); string sex = Console.ReadLine(); Console.WriteLine("请输入爱好:"); string interest = Console.ReadLine(); Console.WriteLine("请输入联系方式:"); string telephone = Console.ReadLine(); DataRow row = table.NewRow(); row["姓名"] = name; row["年龄"] = age; row["性别"] = sex; row["爱好"] = interest; row["联系方式"] = telephone; table.Rows.Add(row); Console.WriteLine("添加成功!"); } else { Console.WriteLine("人名重复!"); } } else if ("N".Equals(choice)) { Console.WriteLine("已经添加成功了!"); break; } } } } //测试类。 class Program { static void Main(string[] args) { // DataTable table = new DataTable(); Card card = new Card(); while (true) { Console.WriteLine("请输入你要的操作1.增加2.查询3.查询全部4.删除5.修改6.增加多人"); int a = int.Parse(Console.ReadLine()); if (a == 1) { Console.WriteLine("请输入姓名:"); string name = Console.ReadLine(); card.Add(name); } else if (a == 2) { Console.WriteLine("请输入你要查询的人的姓名"); string name = Console.ReadLine(); card.Select(name); } else if (a == 3) { card.SelectAll(); } else if (a == 4) { Console.WriteLine("请输入你要删除的人的姓名"); string name = Console.ReadLine(); card.Delete(name); } else if (a == 5) { Console.WriteLine("请输入你要修改的人的姓名"); string name = Console.ReadLine(); card.Update(name); } else if (a == 6) { card.AddMore(); } else if (a == 0) { break; } else { Console.WriteLine("您的输入有误,请重新输入!"); } } } }
以上做法不一定就是最好的方法,只是起到练习技术的作用。
本系列教程:
C#基础总结之八面向对象知识点总结-继承与多态-接口-http://www.cnblogs.com/spring_wang/p/6113531.html
C#基础总结之七面向对象知识点总结1http://www.cnblogs.com/spring_wang/p/6113526.html
C#基础总结之六 DataTable (临时表/数据源) 和Datatable 名片练习http://www.cnblogs.com/spring_wang/p/6113520.html
C#基础总结之五Dictionary<string, string[]>和while循环http://www.cnblogs.com/spring_wang/p/6113514.html
C#基础总结之四List-Hashtable-冒泡排序http://www.cnblogs.com/spring_wang/p/6113504.html
C#基础总结之三循环控制-for-数组-乘法表-arraylisthttp://www.cnblogs.com/spring_wang/p/6113496.html
C#基础总结之二循环控制-运算符http://www.cnblogs.com/spring_wang/p/6113484.html
C#基础总结之一变量常量-if嵌套语句-witch结构-类型转换http://www.cnblogs.com/spring_wang/p/6113476.html
C#基础课程之六(临时表)DataTable使用方法http://www.cnblogs.com/spring_wang/p/6113454.html
C#基础课程之五集合(HashTable,Dictionary)http://www.cnblogs.com/spring_wang/p/6113404.html
C#基础课程之四集合(ArrayList、List<泛型>)http://www.cnblogs.com/spring_wang/p/6113396.html
C#基础课程之三循环语句http://www.cnblogs.com/spring_wang/p/6113383.html
C#基础课程之二变量常量及流程控制http://www.cnblogs.com/spring_wang/p/6113372.html
C#基础课程之一注释和控制台、一些常识http://www.cnblogs.com/spring_wang/p/6113361.html
C#基础第九天-作业答案-储蓄账户(SavingAccount)和信用账户(CreditAccount) http://www.cnblogs.com/spring_wang/p/6113291.html
C#基础第九天-作业-储蓄账户(SavingAccount)和信用账户(CreditAccount) http://www.cnblogs.com/spring_wang/p/6113285.html
C#基础第八天-作业答案-设计类-面向对象方式实现两个帐户之间转账http://www.cnblogs.com/spring_wang/p/6113274.html
C#基础第八天-作业-设计类-面向对象方式实现两个帐户之间转账http://www.cnblogs.com/spring_wang/p/6113258.html
C#基础第七天-作业答案-利用面向对象的思想去实现名片-动态添加http://www.cnblogs.com/spring_wang/p/6113232.html
C#基础第七天-作业-利用面向对象的思想去实现名片-动态添加http://www.cnblogs.com/spring_wang/p/6113224.html
C#基础第六天-作业-利用面向对象的思想去实现名片http://www.cnblogs.com/spring_wang/p/6113028.html
C#基础第六天-作业答案-利用面向对象的思想去实现名片http://www.cnblogs.com/spring_wang/p/6113033.html
C#基础第五天-作业答案-用DataTable制作名片集http://www.cnblogs.com/spring_wang/p/6113022.html
C#基础第五天-作业-用DataTable制作名片集http://www.cnblogs.com/spring_wang/p/6113013.html
C#基础第四天-作业答案-Hashtable-list<KeyValuePair>泛型实现名片http://www.cnblogs.com/spring_wang/p/6113005.html
C#基础第四天-作业-Hashtable-list<KeyValuePair>泛型实现名片http://www.cnblogs.com/spring_wang/p/6113000.html
C#基础第三天-作业答案-集合-冒泡排序-模拟名片http://www.cnblogs.com/spring_wang/p/6112888.html
C#基础第三天-作业-集合-冒泡排序-模拟名片http://www.cnblogs.com/spring_wang/p/6112885.html
C#基础第二天-作业答案-九九乘法表-打印星星http://www.cnblogs.com/spring_wang/p/6112881.html
C#基础第二天-作业-九九乘法表-打印星星http://www.cnblogs.com/spring_wang/p/6112875.html
C#基础第一天-作业答案http://www.cnblogs.com/spring_wang/p/6112872.html
C#基础第一天-作业http://www.cnblogs.com/spring_wang/p/6112867.html
C#-string.Format对C#字符串格式化http://www.cnblogs.com/spring_wang/p/6077098.html
作者: 王春天 出处: http://www.cnblogs.com/spring_wang/ Email: spring_best@yeah.net QQ交流:903639067
QQ群:322581894 关于作者: 大连天翼信息科技有限公司 技术总监。 SNF快速开发平台 创始人。应用平台架构师、IT规划咨询专家、业务流程设计专家。 专注于快速开发平台的开发、代码生成器。同时专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,精通DotNet系列技术Vue、.NetCore、MVC、Webapi、C#、WinForm等,DB(SqlServer、Oracle等)技术,移动端开发。熟悉Java、VB及PB开发语言。在面向对象、面向服务以及数据库领域有一定的造诣。现从事项目实施、开发、架构等工作。并从事用友软件产品U8、U9、PLM 客开工作。 如有问题或建议,请多多赐教! 本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。