C#学习笔记 --- 简单应用

embedded/2025/1/15 22:54:32/

1.operator   运算符重载:使自定义类可以当做操作数一样进行使用。规则自己定。

        

2.partial 分部类:   同名方法写在不同位置,可以当成一个类使用。

        

3.索引器:使自定义类可以像数组一样通过索引值 访问到对应的数据。

        

4.params  数组参数 (变长参数) 修饰。对应参数放在最后一位。 传参的数组可以是0个或者多个。

        

5.重写

        

1.折叠代码:可以编写注解内容,折叠之后可以看注解内容。

    #region 折叠后可以看到注释
    #endregion

2.二进制十进制转化

        

3.十进制转二进制(10除以2 取余数 在除以2 直到1 再将结果从下到上链接)

        

4.C#命名变量的规范

          不能重名,不能使用关键字,不能使用数字作为开头,不能使用特殊符号下划线除外。

5. 字符串的拼接。通过 +  。 

        通过 stirng.Format("测试{0},{1}",第一个占位符 0 ,第二个占位符 1 ) 
        后续填充的数据数量一定要比字符串里面的占位符多,不然会报错。

6.operator  运算符重载   (有点类似于 lua 元表知识的 表的相加等操作。__Add......)

        一般来说类和结构体不能做操作数去使用。但是通过operator 可以实现需求。

        

        类的静态方法:operator  重载 XX  符号(参数最少有一个类类型)。

        

        允许重载:传的参数的种类,顺序不同。

        

        

        适用于 operator  的运算符:注意实际所需要的参数个数

        算术运算符  +   -  *  /   %     ++   --     

        逻辑运算符  ! 

        位移运算符  &  |   ^    ~   <<   >>     

        条件运算符  >  <    >=   <=   ==    !=     需要成对出现。例如:有 > 就要有 <。

        

  7.operator  运算符重载  小例子。

        

        

8.里氏替换原则

        

        object 万物之基类    引用类型 都用 as 获取数据。值类型都使用括号强转就行。

        

        装箱,拆箱  发生在  object 类型和值类型之间。因为数据在栈.堆中进行了类型的转化。

10.继承里面的构造函数。

        

        

11.sealed 密封类的修饰。不允许再被继承。加强面向对象设计的规范性,结构性,安全性。

        

12.接口。interface

        

        如果接口是 protected  。需要显示实现成员。使用权限命名。

       ​​​​​  ​

        《1》接口小案例:硬盘,u盘 存储设备 读取设备    mp3 读取设备。

        

        

        

13. string  字符串的用法

        

14.stirngbuilder

        

15.结构体 和 类 的区别

        

        

16. 接口 和抽象类

        

        

        

        

17.事件  与 委托

                             

18. 匿名函数  与  lambad  表达式。

        

        

19. 闭包。外层函数有临时变量,内存函数用到了外层函数的变量。会导致 变量的生命周期发生变化。这种行为称为闭包。

        闭包中,内层函数用到的  变量的值取决于调用的时候 。其静止状态是什么数值。

        《1》实例1:当调用委托的时候。int i 早就完成循环了。i 的固定值就是5。所以会打印5。

        

        《2》实例2:使用临时变量存储当前循环的 i 一轮循环结束之后。因为下一轮 的index 和这一轮 的index 是两个不一样的变量。所以 index 就是最终值了。所以存的才是 0 ,1, 2, 3, 4 

        

20. list 的排序。自定义 sort 排序。

        《1》默认对数值类型是可以排序的。默认是升序。

        

        《2》自定义排序。通过实现接口

        

        

        《3》通过委托方法的形式。写法其实和 lua 中的 table.sort(list,fucntion(a,b) { 判断逻辑 }类似。

        <1>第一种方式,全写。

        

        

       <2>使用匿名函数。

        

        <3> 使用 lambad 表达式

        

        <4> 使用 lambad表达式  结合  三目运算符 可以简洁的 达成这个效果。

        

21.逆变 in 和 协变 out :在泛型委托   泛型接口中使用。

       《1.》逆变协变的作用。

                以 协变  out 修饰的泛型,其类型只能用作返回值。

                以 逆变  in  修饰的泛型,其类型只能用作参数。

        《2》逆变协变在泛型委托的作用。

                遵循里氏替换原则:父类声明的变量,可以装载子类。

                父类泛型委托装载子类泛型委托的时候 需要使用 out 协变 进行修饰。

                子类泛型委托装载父类泛型委托的时候需要使用逆变 in 进行修饰。

22. 线程 Thread

        

        

        

23. 预处理器指令。一般不同Unity版本可能执行不同的逻辑。不同的平台会执行不同的逻辑。会用到。

        

        


http://www.ppmy.cn/embedded/154223.html

相关文章

RNN之:LSTM 长短期记忆模型-结构-理论详解-及实战(Matlab向)

0.前言 递归&#xff01;循环神经网络Recurrent Neural Network 循环神经网络&#xff08;又称递归神经网络&#xff0c;Recurrent Neural Network&#xff0c;RNN&#xff09;。是一种用于处理序列数据的神经网络结构&#xff0c;具有记忆功能&#xff0c;能够捕捉序列中的时…

Kubernetes1.28 编译 kubeadm修改证书有效期到 100年.并更新k8s集群证书

文章目录 前言一、资源准备1. 下载对应源码2.安装编译工具3.安装并设置golang 二、修改证书有效期1.修改证书有效期2.修改 CA 证书有效期 三、编译kubeadm四、使用新kubeadm方式1.当部署新集群时,使用该kubeadm进行初始化2.替换现有集群kubeadm操作 前言 kubeadm 默认证书为一…

浅谈云计算10 | 服务器虚拟化支撑技术(长文)

服务器虚拟化支撑技术 一、CPU虚拟化技术1.1 CPU虚拟化概述1.1.1 定义与目标1.1.2 关键技术原理 1.2 CPU虚拟化技术实现1.2.1 模拟执行机制1.2.2 硬件辅助虚拟化技术1.2.3 调度策略 三、内存虚拟化技术3.1 内存虚拟化原理3.1.1 地址转换机制3.1.2 内存管理策略 3.2 内存虚拟化实…

最左前缀匹配原则

最左前缀匹配原则&#xff08;Leftmost Prefix Rule&#xff09;是数据库中多列索引&#xff08;也称为复合索引或组合索引&#xff09;使用时的一个重要概念。以下是对最左匹配原则的较为全面的解释&#xff1a; 定义 最左前缀匹配原则指的是&#xff0c;在多列索引中&#xf…

sql根据两个点的经纬度计算距离

-- Hive计算两个经纬度坐标直线距离(单位:公里) -- 公式 -- ASIN( -- SQRT( -- POWER(SIN((lat1-lat2)*ACOS(-1)/360),2) -- COS(lat1*ACOS(-1)/180)*COS(lat2*ACOS(-1)/180) -- *POWER(SIN((lon1-lon2)*ACOS(-1)/360),2) -- …

Multicoin Capital续篇:加密世界永恒不变的叙事

与其追逐前沿叙事&#xff0c;不如把握确定性机会。 原文&#xff1a;Multicoin Capital&#xff1b;译者&#xff1a;Azuma&#xff1b;编辑&#xff1a;郝方舟 出品 | Odaily星球日报&#xff08;ID&#xff1a;o-daily&#xff09; 两天前&#xff0c;Multicoin Capital 曾发…

集中式架构vs分布式架构

一、集中式架构 如何准确理解集中式架构 1. 集中式架构的定义 集中式架构是一种将系统的所有计算、存储、数据处理和控制逻辑集中在一个或少数几个节点上运行的架构模式。这些中央节点&#xff08;服务器或主机&#xff09;作为系统的核心&#xff0c;负责处理所有用户请求和…

安全运维管理 10.2资产管理

等级保护对象的资产包括各种硬件设备&#xff08;如网络设备、安全设备、服务器设备、操作终端、存储设备和存储介质&#xff0c;以及供电和通信用线缆等&#xff09;、各种软件&#xff08;如操作系统、数据库管理系统、应用系统等&#xff09;各种数据&#xff08;如配置数据…