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语言编写的推箱子游戏(适合新手学习)
- 用 C# 自己动手编写一个 Web 服务器
- 编写高质量代码改善C#程序的157个建议——建议20:使用泛型集合代替非泛型集合
- 用C语言编写一个电话簿管理系统
- 用kotlin语言实现随机获取一个list的集合的三条数据
- python定义函数prime判断是否是素数_用自定义函数判断素数 用C语言编写自定义函数prime(int x),判断x是否为素数?...
- 世界上最著名的操作系统是用什么语言编写的?
- 用cLion编写运行c语言程序
- 用 C 语言编写一个简单的垃圾回收器
- RabbitMQ 优点和缺点- 消息可靠性:RabbitMQ 提供了持久化功能和消息确认机制,确保消息在各种情况下都能可靠地存储和处理。 灵活的路由:通过多种交换机类型和绑定规则,RabbitMQ 能够灵活地路由消息到指定的队列。 支持多种消息协议:实现了 AMQP 等(MQTT、STOMP)标准化、开放的消息队列协议,使其能够与多种语言编写的应用程序进行通信。 插件化扩展:RabbitMQ 提供了丰富的插件系统,可以通过插件扩展功能,如死信队列、压缩、追踪等。 高可用性:支持集群模式和镜像队列,确保服务的可用性 易用性和可管理性:提供了丰富的 API 和管理工具,以及多种客户端库和框架支持,易于集成和使用。 多语言支持:RabbitMQ 支持多种编程语言的客户端,包括 Java、Python、Ruby、C#、Node.js 等,方便开发人员集成到各种应用中。 高性能:在处理大量并发消息时表现出色。 广泛的社区支持:拥有庞大的开发者社区和丰富的文档资源。 劣势: 性能和吞吐量较低:相比于 Apache Kafka 等面向大数据流处理的消息队列系统,RabbitMQ 的吞吐量较低,不适合处理海量的实时数据流。RabbitMQ 的设计更注重消息的可靠性和灵活性,而非极高的吞吐性能。