news 2026/5/15 12:25:32

C# 编程基础:排序、字典与类详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C# 编程基础:排序、字典与类详解

第十一次

一,排序

1,冒泡排序: 两两相比,交换位置

外循环要经过多少轮, 一轮找出一个最值

内循环比较多少次

2,交换位置临时值的用法

【1】,int temp = list[j];//定义一个临时值 存储其中的一个值

【2】,list[j] = list[j+1]; //把后面的值赋值给前面的元素

【3】, list[j+1] = temp;//把temp赋值给数组后面的元素

相关代码:

运行结果:

二,选择排序

1,选择排序: 每一轮找出最值的索引值,根据索引值在进行交换位置,所以交换次数必冒泡排序的次数少,

找出最值把最值放在已经排序的末尾

2,相关代码案例和结果

运行结果:

三,字典

1,定义字典

Dictionary<string , string> dic = new Dictionary<string , string>();

2,添加键值对
dic.Add("news1","微信支付过年之后可能被取消");
dic.Add("news2", "狗熊岭最大的伐木工是光头伟");
dic.Add("news3", "余伟是金铲铲牢玩家");

3,取出值
Console.WriteLine(dic["news2"]);//根据键取出值

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 + "-------"));


5,使用循环先遍历键 再根据键获取值

foreach (var item in dic.Keys)
{
Console.WriteLine(dic[item] + "========");
}

6,清空集合
dic.Clear();

7,修改值
dic["news3"] = "王者荣耀";

四,var 定义变量

1,定义整型和字符串等类型可以使用关键字

int a = 10;
string b = "test";

2,还可以使用var 进行定义, var可以接受任意的数据类型,var 类型是根据赋值的时候确定类型

var c = 10;
var d = "ss";

3,dynamic 动态类型定义

dynamic name = "余伟";
dynamic age = 10;
Console.WriteLine(name);

4,dynamic和var区别

【1】,var是没有类型的, 只有在赋值完之后才确定类型 dynamic就是一个类型

【2】,var 在定义的时候 必须赋值

【3】,使用dynamic的时候 编码的时候没有对应的提示

【4】,var 使用的场景, 在遍历数组的时候可以var接受数组元素

5,强类型编程语言与弱类型编程语言

【1】,强类型编程语言: 定义一个数据 一旦确定数据类型, 这个数据不能再赋值成其他类型
*好处: 类型安全 坏处:需要类型的转换

【2】,弱类型编程语言: 定义一个数据 以后的代码可以修改数据的类型 坏处: 类型不安全 好处:不需要类型的转换 js弱类型

五,类,对象,方法

1,类: 具有相同属性和方法的集合, 类就是数据的模板,不包含实际的数据

2,对象: 类的实例化, 对象才有实例的数据 如 : 一个人,一只鸟,一只猫,一只金毛等

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

4,如:人类应该拥有名字、性别、年龄等属性,应该拥有吃、喝、拉、撒、睡等方法

6,类:是具有相同信息和行为的抽象的一个概念,某一类事物的总称

7, 对象:是实实在在的个体,由类进行创建,是类的实例化。张三是People类的实例化对象

8,给类属性赋值的几种方式

【1】,创建对象直接使用有参数构造函数进行传参数赋值 new Book("西游记","吴承恩",100)

【2】,创建对象之后 使用对象.属性进行赋值 b1.Name = "A";

【3】,使用无参数的构造函数写{}, Book b1 = new Book(){name="11"}

9,构造函数的目的是初始化属性的 给类属性赋值

10,修饰符: 就是类和属性,字段 , 方法使用的范围

11,类一般的默认修饰符是internal 字段的默认修饰符是private 主要是保证数据的安全性

12,属性一般定义public 主要是对外部进行访问

13,方法一般定义成public

14,定义类的语法: 修饰符 class 类名{}

重点:

1,public: 允许类,属性, 字段, 方法 在类的外部进行访问

2,private 只能在本类里面访问

3,protected 不能在外部访问属性或者字段

4,internal :当前项目可以引用该类

相关的代码案例:

“ 上文为本次第十一部分内容,后续将不定时更新,若对主题感兴趣,欢迎订阅获取更新通知."

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

10 个降AI率工具,本科生论文查重优化推荐

10 个降AI率工具&#xff0c;本科生论文查重优化推荐 论文写作的“重灾区”&#xff1a;重复率高、时间紧、压力大 对于大多数本科生来说&#xff0c;论文写作从来不是一件轻松的事情。从选题到开题&#xff0c;从文献综述到正文撰写&#xff0c;每一个环节都充满了挑战。尤其是…

作者头像 李华
网站建设 2026/5/12 5:41:51

LobeChat环境变量配置大全:灵活控制各项功能开关

LobeChat环境变量配置大全&#xff1a;灵活控制各项功能开关 在大语言模型&#xff08;LLM&#xff09;快速普及的今天&#xff0c;如何构建一个既强大又安全、可定制且易于部署的AI交互界面&#xff0c;成为开发者和企业面临的核心挑战。命令行调用虽然灵活&#xff0c;但缺乏…

作者头像 李华
网站建设 2026/5/1 0:20:00

光刻胶增感剂用樟脑磺酸盐

(4-叔丁基苯基)二苯基锍樟脑磺酸盐光刻胶增感剂用樟脑磺酸盐是高端光刻胶配方中的关键原料&#xff0c;特别是在化学放大光刻胶&#xff08;CAR&#xff09;中作为光致产酸剂&#xff08;PAG&#xff09; 或其组成部分。一、原料与配方&#xff08;一&#xff09;核心原料1. 樟…

作者头像 李华
网站建设 2026/5/15 8:55:49

计算机Java毕设实战-基于java的城市公交调度系统基于Java城市交通车辆调度系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/5/13 17:53:02

计算机Java毕设实战-基于javaWEB的餐厅后勤管理系统的设计与实现基于javaWEB的饭馆餐厅后勤管理系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/5/10 18:45:43

AI绘画商业化落地:图像生成应用的7个盈利模式

AI绘画商业化落地:图像生成应用的7个盈利模式 关键词:AI绘画、商业化落地、图像生成应用、盈利模式 摘要:本文聚焦于AI绘画商业化落地,深入探讨了图像生成应用的7种盈利模式。通过生动形象的讲解和实际案例分析,帮助读者了解每种盈利模式的特点、优势和应用场景,为相关从…

作者头像 李华