using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace day1
{
class PersonCard
{
private string name; public string Name //姓名
{
get { return name; }
set { name = value; }
}
private int age; //年龄 public int Age
{
get { return age; }
set
{
if (value > && value < )
{
age = value;
}
else
{
age = ;
}
}
}
private string sex; //性别 public string Sex
{
get { return sex; }
set
{
if (value == "男" || value == "女")
{
sex = value;
}
else
{
sex = "男";
}
}
}
private string hobby; //爱好 public string Hobby
{
get { return hobby; }
set { hobby = value; }
}
private string phone; //电话 public string Phone
{
get { return phone; }
set { phone = value; }
}
private string state; //状态 public string State
{
get { return state; }
set { state = value; }
}
}
} class Program
{
static void Main(string[] args)
{
string NAME = string.Empty;
int AGE = ;
string SEX = string.Empty;
string HOBBY = string.Empty;
string PHONE = string.Empty;
string STATE = string.Empty; //(1.新增 2.修改)
int i = ; //Key值
PersonCard personcard; //人员信息类
Dictionary<string, PersonCard> PersonCardList = new Dictionary<string, PersonCard>(); //人员信息表
Dictionary<string, PersonCard> PersonCardListCopy = new Dictionary<string, PersonCard>(); //复制人员信息表
while (true)
{
Console.WriteLine("请输入操作方案:1.新增;2.查询全部;3.单条查询;4.修改;5.删除;6.查询已删除信息");
string type = Console.ReadLine(); //接收操作类型
if (type == "") //新增
{
Console.WriteLine("姓名:");
NAME = Console.ReadLine();
Console.WriteLine("年龄:");
AGE = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("性别:");
SEX = Console.ReadLine();
Console.WriteLine("爱好:");
HOBBY = Console.ReadLine();
Console.WriteLine("电话:");
PHONE = Console.ReadLine();
personcard = new PersonCard(); //实例化人员信息类
personcard.Name = NAME;
personcard.Age = AGE;
personcard.Sex = SEX;
personcard.Hobby = HOBBY;
personcard.Phone = PHONE;
personcard.State = "";
PersonCardList.Add(i.ToString(), personcard); //集合添加一行
i++;
}
if (type == "") //查询全部
{
foreach (var item in PersonCardList)
{
Console.WriteLine("姓名:" + item.Value.Name + " " + "年龄:" + item.Value.Age + " " + "性别:" + item.Value.Sex + " " + "爱好:" + item.Value.Hobby + " " + "联系方式:" + item.Value.Phone + "状态:" + item.Value.State);
}
}
if (type == "") //单条查询
{
Console.WriteLine("请输入您要查询的人员信息");
string NAMEFind = Console.ReadLine();
if (PersonCardList.Values.Where(o => o.Name == NAMEFind).Count() > ) //lingq 人名存在数大于零
{
IEnumerable<KeyValuePair<string, PersonCard>> abc = PersonCardList.Where(o => o.Value.Name == NAMEFind);
foreach (KeyValuePair<string, PersonCard> kk in abc)
{
Console.WriteLine("姓名:" + kk.Value.Name + " " + "年龄:" + kk.Value.Age + " " + "性别:" + kk.Value.Sex + " " + "爱好:" + kk.Value.Hobby + " " + "联系方式:" + kk.Value.Phone + "状态:" + kk.Value.State);
} }
else
{
Console.WriteLine("对不起,没有您要查询的人员信息");
}
}
if (type == "") //修改
{
Console.WriteLine("请输入您要修改的人员");
string NAMEUpdate = Console.ReadLine();
if (PersonCardList.Values.Where(o => o.Name == NAMEUpdate).Count() > )
{
IEnumerable<KeyValuePair<string, PersonCard>> abc = PersonCardList.Where(o => o.Value.Name == NAMEUpdate);
Console.WriteLine("请输入您要修改的信息(姓名,年龄,性别,爱好,电话)");
string message = Console.ReadLine();
Console.WriteLine("请输入修改后的内容");
string Message = Console.ReadLine();
foreach (KeyValuePair<string, PersonCard> kk in abc)
{
if (message == "姓名")
{
kk.Value.Name = Message;
kk.Value.State = "";
}
if (message == "年龄")
{
kk.Value.Age = Convert.ToInt32(Message);
kk.Value.State = "";
}
if (message == "性别")
{
kk.Value.Sex = Message;
kk.Value.State = "";
}
if (message == "爱好")
{
kk.Value.Hobby = Message;
kk.Value.State = "";
}
if (message == "电话")
{
kk.Value.Phone = Message;
kk.Value.State = "";
}
Console.WriteLine("姓名:" + kk.Value.Name + " " + "年龄:" + kk.Value.Age + " " + "性别:" + kk.Value.Sex + " " + "爱好:" + kk.Value.Hobby + " " + "联系方式:" + kk.Value.Phone + "状态:" + kk.Value.State);
} }
else
{
Console.WriteLine("对不起,没有您要修改的人员");
}
}
if (type == "") //删除信息
{
Console.WriteLine("请输入您要删除的人员");
string NAMEDelete = Console.ReadLine();
if (PersonCardList.Values.Where(o => o.Name == NAMEDelete).Count() > ) //lingq 人名存在数大于零
{
List<KeyValuePair<string, PersonCard>> abc = PersonCardList.Where(o => o.Value.Name == NAMEDelete).ToList();
foreach (KeyValuePair<string, PersonCard> kk in abc)
{
PersonCardListCopy.Add(kk.Key, kk.Value);
PersonCardList.Remove(kk.Key);
}
foreach (var item in PersonCardList)
{
Console.WriteLine("姓名:" + item.Value.Name + " " + "年龄:" + item.Value.Age + " " + "性别:" + item.Value.Sex + " " + "爱好:" + item.Value.Hobby + " " + "联系方式:" + item.Value.Phone + "状态:" + item.Value.State);
}
}
else
{
Console.WriteLine("对不起,没有您要删除的人员");
}
}
if (type == "") //删除信息
{ foreach (var item in PersonCardListCopy)
{
Console.WriteLine("姓名:" + item.Value.Name + " " + "年龄:" + item.Value.Age + " " + "性别:" + item.Value.Sex + " " + "爱好:" + item.Value.Hobby + " " + "联系方式:" + item.Value.Phone + "状态:" + item.Value.State);
}
}
Console.ReadKey();
} }
}

本系列教程:

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

C#基础第六天-作业答案-利用面向对象的思想去实现名片的更多相关文章

  1. C#基础第七天-作业答案-利用面向对象的思想去实现名片-动态添加

    class Card { private string name; public string Name { get { return name; } set { name = value; } } ...

  2. C#基础第六天-作业-利用面向对象的思想去实现名片

    1.利用面向对象的思想去实现: (增加,修改,删除,查询,查询全部)需求:根据人名去(删除/查询).指定列:姓名,年龄,性别,爱好,电话. 本系列教程: C#基础总结之八面向对象知识点总结-继承与多态 ...

  3. C#基础第七天-作业-利用面向对象的思想去实现名片-动态添加

    1.利用面向对象的思想去实现: (增加,修改,删除,查询,查询全部)需求:根据人名去(删除/查询).指定列:姓名,年龄,性别,爱好,电话. 多条添加 , 动态添加 名片 本系列教程: C#基础总结之八 ...

  4. 【Java并发基础】利用面向对象的思想写好并发程序

    前言 下面简单总结学习Java并发的笔记,关于如何利用面向对象思想写好并发程序的建议.面向对象的思想和并发编程属于两个领域,但是在Java中这两个领域却可以融合到一起.在Java语言中,面向对象编程的 ...

  5. C# 用面向对象的思想去编程

    再接上一篇博文,之前写的两篇博文虽然实现了功能,但是和控件之间的粘性太大,依赖于控件进行操作,所以这篇博文主要用面向对象的思想做一个Demo,将逻辑层与显示层剥离开 首先新建一个窗体文件,搭建界面完毕 ...

  6. python基础语法9 生成器,面向对象编程思想,三元表达式,列表生成式,生成器表达式(生成式),匿名函数,内置函数

    生成器 1.什么是生成器? 生成的工具. 生成器是一个 "自定义" 的迭代器, 本质上是一个迭代器. 2.如何实现生成器 但凡在函数内部定义了的yield, 调用函数时,函数体代码 ...

  7. C#基础第八天-作业答案-设计类-面向对象方式实现两个帐户之间转账

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. C#基础第九天-作业答案-储蓄账户(SavingAccount)和信用账户(CreditAccount)

    class Bank { //Dictionary<long,Account> dictionary=new Dictionary<long,Account>(); DataT ...

  9. C#基础第八天-作业-设计类-面向对象方式实现两个帐户之间转账

    要求1:完成以下两种账户类型的编码.银行的客户分为两大类:储蓄账户(SavingAccount)和信用账户(CreditAccount),两种的账户类型的区别在于:储蓄账户不允许透支,而信用账户可以透 ...

随机推荐

  1. 简单的WebRTC例子

    webrtc网上封装的很多,demo很多都是一个页面里实现的,今天实现了个完整的 , A 发视频给 B. A offer.html作为offer <!DOCTYPE html> <h ...

  2. 翻页效果实现turn.js

    使用插件turn.js实现翻书功能. 看下效果:http://yk.wanxue.cn/2019/01/yd/ 当然第一版做的时候加载很慢很慢,原版插件会把所有图片加载出来再显示页面.很不爽的体验就改 ...

  3. Changing the Language Used in ODI Studio

    odi.conf中加入区域和语言设置 修改 "$ODI_HOME\odi\studio\bin\odi.conf"    ( D:\Oracle\Middleware\Oracle ...

  4. Java ThreadLocal (Java代码实战-006)

    ThreadLocal解决什么问题 由于 ThreadLocal 支持范型,如 ThreadLocal< StringBuilder >,为表述方便,后文用 变量 代表 ThreadLoc ...

  5. Linux Shell 下载网站指定文件

    Shell脚本,用来从网站下载指定文件名的文件.先判断本地这个文件是否存在,如果存在则忽略,不存在则从远程服务器上下载,下载成功后本地的批次号累加1,然后使用新的批次号继续下载新文件. #!/bin/ ...

  6. iOS下Symbol not found: ___sincosf_stret错误

    在调试一个带第三方库的多媒体应用中,发如今iOS6.1.2的版本号上必定crash.显示Symbol not found: ___sincosf_stret错误,这个错误非常少见. watermark ...

  7. linux下编译Zero C ICE

    0.简介 ZeroC ICE 是指ZeroC公司(www.zeroc.com)的ICE(Internet Communications Engine)中间件平台. 目前ICE平台中包括Ice,Ice- ...

  8. jenkins相关默认路径

    安装完成后,有如下相关目录:(1)/usr/lib/jenkins/:jenkins安装目录,WAR包会放在这里.( 2 ) /etc/sysconfig/jenkins:jenkins配置文件,“端 ...

  9. Centos6下编译LEDE/OpenWrt

    准备工作 1. 安装依赖软件 这是官方文档提供的依赖列表 yum install subversion binutils bzip2 gcc gcc-c++ gawk gettext flex ncu ...

  10. 【linux环境】Linux环境 php连接oracle11g数据库(相关插件已备份至U盘)

    1.环境:centos6 . LNMP(linux环境都可以,跟服务器没啥大关系) 2.前期准备:弄清楚 项目php的运行目录,php.ini的配置目录,php-config的运行目录 3.安装先知: ...