static void Main(string[] args)
        {
            List<int> numbers = new List<int>();
            while (true)
            {
               #region 输出集合内容
                Console.WriteLine("集合中现有内容如下:");
                Console.WriteLine("===============================");
                if (numbers.Count==0)
                {
                    Console.WriteLine("集合中没有元素");
                }
                else
                {
                    foreach (int item in numbers)
                    {
                        Console.Write(item + "\t");
                    }
                    Console.WriteLine();
                }
                Console.WriteLine("===============================");
               #endregion
               #region 提示菜单,并获取用户输入的菜单选项
                Console.WriteLine("1.添加数据");
                Console.WriteLine("2.删除数据");
                Console.WriteLine("3.修改数据");
                Console.WriteLine("4.升序排序");
                Console.WriteLine("0.退出程序");
                Console.Write("请输入(0-4):");
                string input = Console.ReadLine();
               #endregion
               #region 根据用户输入的不同,做不同的处理
                if (input =="0")
                {
                    break;
                }
                else if(input == "1")
                {
                    #region 添加数据
                    Console.Write("请输入要添加的数字:");
                    int num = int.Parse(Console.ReadLine());
                    numbers.Add(num);
                    #endregion
                }
                else if (input == "2")
                {
                    #region 删除数据
                    Console.WriteLine("清输入你要删除的数据(只会删除第一个匹配项):");
                    int num = int.Parse(Console.ReadLine());
                    numbers.Remove(num);
                    #endregion
                }
                else if (input == "3")
                {
                    #region 修改数据
                    if (numbers.Count == 0)
                    {
                        Console.Write("集合中没有任何程序可以修改,按回车键继续");
                        Console.ReadLine();
                    }
                    else
                    {
                        int maxIndex = numbers.Count - 1;
                        Console.Write("请输入要删除的下标(0-" + maxIndex + ")");
                        int index = int.Parse(Console.ReadLine());
                        if (index < 0 || index > maxIndex)
                        {
                            Console.WriteLine("输入错误,下标超出范围,按回车键继续");
                            Console.ReadLine();
                        }
                        else
                        {
                            Console.Write("请输入新的数据:");
                            int newnum = int.Parse(Console.ReadLine());
                            numbers[index] = newnum;
                        }
                    }
                    #endregion
                }
                else if (input == "4")
                {
                    #region 升序排序
                    for (int i = 0; i < numbers.Count-1; i++)
                    {
                        for (int j = i+1; j < numbers.Count; j++)
                        {
                            if (numbers[i] > numbers[j])
                            {
                                int temp = numbers[i];
                                numbers[i] = numbers[j];
                                numbers[j] = temp;
                            }
                        }
                    }
                    #endregion
                }
              

               #endregion
                    //控制台清屏
                Console.Clear();
            }
        }

用C#语言编写:集合管理器的更多相关文章

  1. WCF 服务的集合管理器的设计

    今天是2019年2月1日,时间过得针对,马上就年底了,当前新年也离我们越来越近了.在此,我也祝福经常浏览我博客的朋友们“新年快乐.阖家欢乐”,来年有一个好彩头.在即将结束这一年之计,写今年的最后一片文 ...

  2. with上下文管理器

    术语 要使用 with 语句,首先要明白上下文管理器这一概念.有了上下文管理器,with 语句才能工作. 下面是一组与上下文管理器和with 语句有关的概念. 上下文管理协议(Context Mana ...

  3. ZendFramework-2.4 源代码 - 关于服务管理器

    // ------ 决定“服务管理器”配置的位置 ------ // 1.在模块的入口类/data/www/www.domain.com/www/module/Module1/Module.php中实 ...

  4. 实用算法系列之RT-Thread链表堆管理器

    [导读] 前文描述了栈的基本概念,本文来聊聊堆是怎么会事儿.RT-Thread 在社区广受欢迎,阅读了其内核代码,实现了堆的管理,代码设计很清晰,可读性很好.故一方面了解RT-Thread内核实现,一 ...

  5. WPF技巧:通过代码片段管理器编写自己常用的代码模板提示效率

    在写自定义控件的时候,有一部分功能是当内部的值发生变化时,需要通知控件的使用者,而当我在写依赖项属性的时候,我可以通过popdp对应的代码模板来完成对应的代码,但是当我来写属性更改回调的时候,却发现没 ...

  6. DVD管理器集合版

    利用所学的集合写出的DVD管理系统,运用到了所学到集合基础. import java.text.ParseException; import java.text.SimpleDateFormat; i ...

  7. 运用集合来做一个DVD管理器(全代码)

    package DVD;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Array ...

  8. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  9. 1.Cocos2d-x-3.2编写3d打飞机,粒子管理器代码

     Cocos2d-x中的一个单例效果: #ifndef __Moon3d__ParticleManager__ #define __Moon3d__ParticleManager__ #inclu ...

随机推荐

  1. mysql的常用引擎

    在MySQL数据库中,常用的引擎主要就是2个:Innodb和MyIASM. 首先: 1.简单介绍这两种引擎,以及该如何去选择.2.这两种引擎所使用的数据结构是什么. 1. a.Innodb引擎,Inn ...

  2. Luogu P1757 通天之分组背包

    题目背景 直达通天路·小A历险记第二篇 题目描述 自01背包问世之后,小A对此深感兴趣.一天,小A去远游,却发现他的背包不同于01背包,他的物品大致可分为k组,每组中的物品相互冲突,现在,他想知道最大 ...

  3. bonding实现网卡负载均衡与高可用

    bondingLinux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余.他是解决同一个IP下突破网卡的流量限制的工具,网卡网线对吞吐量是有 ...

  4. MyEclipse中修改项目运行地址栏中项目名称

    MyEclipse中修改项目运行地址栏中项目名称 1.如果出现从SVN上检出的项目名称跟运行地址栏中的项目名称不一致, 可以通过以下步骤进行修改 项目鼠标右键,单击"Properties&q ...

  5. linux2.6硬盘扇区直接读写程序

    下面的程序可以在linux2.6内核直接读写硬盘的指定扇区,也是根据网上一个朋友的做法做了修改的: 有两个不是很明白的地方就是:1.bd_claim函数的使用,这个是个递归函数,像是匹配内存指针和设备 ...

  6. VxWorks操作系统shell命令与调试方法总结

    VxWorks下的调试手段 主要介绍在Tornado集成开发环境下的调试方法,和利用支撑定位问题的步骤.思路. 1         Tornado的调试工具 嵌入式实时操作系统VxWorks和集成开发 ...

  7. R语言-动画

    使用动画可以使得图形更形象,更能反映数据的变化 1.安装环境gganimate if(!require(devtools)) install.packages("devtools" ...

  8. R语言实现对基因组SNV进行注释

    很多时候,我们需要对取出的SNV进行注释,这个时候可能会在R上进行注释,通常注释文件都含有Chr(染色体).Start(开始位点).End(结束位点).Description(描述),而我们的SNV文 ...

  9. class-朴素贝叶斯NaiveBayes

    1 朴素贝叶斯法的学习与分类1.1 基本原理2 参数估计2.1 极大似然估计2.2 算法2.3 贝叶斯估计 1 朴素贝叶斯法的学习与分类 Naive Bayes是基于贝叶斯定理和特征条件独立的假设的分 ...

  10. 从html页面加载顺序来更好的理解jquery初始化

    一,html页面加载顺序 1,用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件:2,浏览器开始载入html代码,发现<head>标签内 ...