news 2026/7/25 16:49:06

C# 排序,字典以及类相关知识点扩宽

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C# 排序,字典以及类相关知识点扩宽

一、冒泡排序

冒泡排序:俩两相比,如果前面大于后面的值这时候交换位置。
外循环要经过多少轮 一轮找出一个最值
内循环比较多少次 例如5个数比较4次即可,下一轮的时候 不用和上传最值进行比较,所以写内循环次数可以 这样写list.Count-1-i

List<int> list = new List<int>() { 1,99,2,8,11,20,16,89}; for (int i = 0; i < list.Count-1; i++) // 为啥减-,例如数组的个数为5的话,只需要找出4个最值即可 { for (int j = 0; j < list.Count-1-i; j++) // 内循环目的是为了要进行比较 并且交换位置 { // j < list.Count-1-i :之前已经找出最值,下轮没必要和上轮最值进行比较, if (list[j]>list[j+1]) // 比较相邻位置交换位置 如果前面的大 交换位置 { int temp = list[j];// 定义一个临时值 存储其中一个值 list[j] = list[j+1];// 把后面的值赋值给前面元素 list[j+1] =temp;// 把temp赋值给数组后面的元素 } } }

最后遍历看结果即可

foreach (var item in list) { Console.WriteLine(item+"----"); }

二、选择排序

选择排序: 每一轮找出最值的索引值,根据索引值再进行交换位置,所以交换的次数比冒泡排序的次数少,找出最值把最值放在已经排序的末尾

for (int i = 0; i < list.Count - 1; i++) { int minIndex = i;// 每一轮循环的 把i当成最小值的索引值, 0 1 2 3.4 5.. for (int j = i+1; j < list.Count; j++) { if (Convert.ToInt16(list[j]) < Convert.ToInt16(list[minIndex])) // 取出最小值:list[minIndex],如果其中的一个元素比最小值还小,这时候list[j]最小值, // 记录j的索引值 { minIndex = j; } } //在内循环外部进行交换位置 if (i!=minIndex) //如果找到的最小的和初始化的赋值的最小的不一样进行交换, { //list[minIndex] 和 list[i] 进行交换位置 int temp = Convert.ToInt16(list[i]); list[i] = list[minIndex]; //最小值赋值给当前遍历的元素 已经排序的末尾 list[minIndex] = temp; }

三、字典

字典:包含了key(键)和value(值),简称为键值对,键是唯一的,值可以是任意类型的,字典是没有顺序的,只能通过键取值。

接下来是字典相关创建以及简单运用:

//1创建字典的方法 // Dictionary<string,string> 第一个string 键的类型; 第二个string值的类型 Dictionary<string,string> dic = new Dictionary<string,string>(); //2添加键值对 dic.Add("news1", "微信支付过年之后可能会被取消");//参数1键唯一,参数2是值 dic.Add("news2", "柬埔寨生命科学园最大股东是国内gs"); dic.Add("news3", "李连杰像个小朋友"); //3取出值 Console.WriteLine(dic["news1"]); //根据键取出值 Console.WriteLine(dic.Values);//获取所有的值的集合 Console.WriteLine(string.Join("-",dic.Values)); foreach (var item in dic.Values)// 遍历字典字典里面所有值 { Console.WriteLine(item+"+++++++++"); } //4 取出键 Console.WriteLine(dic.Keys);//获取所有的键的集合 Array.ForEach(dic.Keys.ToArray(), v => Console.WriteLine(v + "??????")); //dic.Keys.ToArray() 转成数组类型 //6 清空集合 //dic.Clear(); //7 修改值 dic["news3"] = "三胎补助"; //8根据键进行删除 dic.Remove("news3"); //9 是否包含news3键 Console.WriteLine(dic.ContainsKey("news3")); Console.WriteLine(dic.Count);//个数 //最后 使用循环先遍历键 再根据键获取值 foreach (var item in dic.Keys) { Console.WriteLine(dic[item]+".................."); } Console.ReadKey();

四、类_对象_方法

类: 具有相同属性和方法的集合,类就是数据的模版,不包含实际的数据 例如人类、电脑类 狗类

对象:类的实例化,对象才有实际的数据,如:一个人、一只鸟、一只猫、一只金毛、玩家A

类成员:一个类中包含需要的信息(属性)和行为(方法),这些信息我们统称为类成员。类成员用于记录这个类的信息,类成员包含(属性,字段 、方法)
// 如:人类应该拥有名字、性别、年龄等属性,应该拥有吃、喝、拉、撒、睡等方法

/类和对象是面向对象编程语言的一大核心

创建对象语法:类名 对象名 = new 类名(); People zhangsan = new People(); //zhangsan.age 因为age是私有的 不能在外部访问 zhangsan.Name = "李四"; //3 非static的方法使用对象.方法名去调用 zhangsan.Eat(); //4 调用drink方法 People p1 = new People(); p1.Name = "张三"; p1.Drink(); People p2 = new People(); p2.Name = "李四"; p2.Drink();

修饰符:就是类和属性、字段、方法使用的范围、
一般类默认修饰符internal ,
字段的默认修饰符是private 主要是保证数据的安全性,
属性一般定义public 主要是外部进行访问,
方法一般定义成public

public:允许类、属性、字段、方法在类的外部进行访问,
private 只能在本类里面访问,
protected 不能在外部访问属性或者字段
internal :当前项目可以引用该类

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/24 4:16:03

Flutter 表单开发实战:表单验证、输入格式化与提交处理

Flutter 表单开发实战&#xff1a;表单验证、输入格式化与提交处理 在 Flutter 应用开发中&#xff0c;表单是承接用户输入的核心组件&#xff0c;广泛应用于登录注册、信息提交、数据编辑等场景。一个高质量的表单不仅需要美观的布局&#xff0c;更要具备严谨的验证逻辑、友好…

作者头像 李华
网站建设 2026/7/22 0:22:50

【光子 AI】AI Agent 架构师 / 技术专家 10 道必考面试题和必过答案完整讲解 1

【光子 AI】AI Agent 架构师 / 技术专家 10 道必考面试题和必过答案完整讲解 文章目录 【光子 AI】AI Agent 架构师 / 技术专家 10 道必考面试题和必过答案完整讲解 一、请你整体设计一个企业级 AI Agent 平台的核心架构,并说明关键技术选型 【考察重点】 【必过答案要点】 【…

作者头像 李华
网站建设 2026/7/25 9:03:56

Flutter 主题与深色模式:全局样式统一与动态切换

Flutter 主题与深色模式&#xff1a;全局样式统一与动态切换 一、引言 在 Flutter 应用开发中&#xff0c;主题&#xff08;Theme&#xff09;是实现 UI 风格统一的核心机制&#xff0c;而深色模式&#xff08;Dark Mode&#xff09;作为当前主流的交互需求&#xff0c;能有效…

作者头像 李华
网站建设 2026/7/23 1:11:12

基于 GEE 使用 Sentinel-2 遥感影像数据反演水体叶绿素 a 质量浓度

目录 一、前言 二、初始化设置 三、影像预处理 四、影像集合加载与预处理 五、波段比计算与叶绿素浓度反演 六、统计分析与结果输出 七、结果可视化 八、核心逻辑与应用场景 九、注意事项 十、运行结果 若觉得代码对您的研究 / 项目有帮助&#xff0c;欢迎点击打赏支…

作者头像 李华
网站建设 2026/7/21 15:18:50

小红书数据采集架构解析与工程实践

小红书数据采集架构解析与工程实践 【免费下载链接】xhs 基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/ 项目地址: https://gitcode.com/gh_mirrors/xh/xhs 在内容营销和数据分析需求日益增长的背景下&#xff0c;小红书平台已成为品牌洞察和用户研…

作者头像 李华
网站建设 2026/7/25 9:25:50

长沙对非合作深化 探索新型易货贸易

中新社长沙12月8日电 (记者 唐小晴)“十四五”时期&#xff0c;长沙开放型经济成效显著&#xff0c;进出口总额累计1.4万亿元(人民币&#xff0c;下同)&#xff0c;贸易“朋友圈”覆盖全球233个国家和地区&#xff0c;对非贸易实现翻番式跃升&#xff0c;年均增长31.7%。 记者8…

作者头像 李华