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

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.mzph.cn/news/892657.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Flink】Flink内存管理

Flink内存整体结构图&#xff1a; JobManager内存管理 JVM 进程总内存(Total Process Memory)Flink总内存(Total Flink Memory)&#xff1a;JVM进程总内存减去JVM Metaspace(元空间)和JVM Overhead(运行时开销)上图解释&#xff1a; JVM进程总内存为2G;JVM运行时开销(JVM Overh…

MYSQL8创建新用户报错:You have an error in your SQL syntax;check...

本文所用——MYSQL版本&#xff1a;8.0.25 baidu都是直接创建新用户并赋权&#xff0c;如下&#xff1a; GRANT ALL PRIVILEGES ON *.* TO 用户名% IDENTIFIED BY 密码 WITH GRANT OPTION;但是我用的MYSQL版本它就不行&#xff0c;会报错&#xff01; 经查阅资料发现——MY…

力扣经典练习题之198.打家劫舍

今天继续给大家分享一道力扣的做题心得今天这道题目是198.打家劫舍,这是一道非常经典的问题,在动态规划中经常考到这类问题,题目如下: 题目链接:198.打家劫舍 1,题目分析 首先此题就是给我们了一个数组,代表可以偷的房屋中的对应的金额,我们是一个小偷,一次可以偷很多…

万物互联的背后:MCU嵌入式硬件的奇幻之旅

文章背景&#xff1a;嵌入式硬件是什么&#xff1f; 你可能听说过嵌入式硬件&#xff0c;却总觉得它像是实验室里神秘的玩意儿。其实&#xff0c;它就在我们身边——从你手上的智能手表到车里的倒车雷达&#xff0c;无一不是嵌入式硬件的“杰作”。想象一块小小的电路板&#x…

【数据分析】一、初探 Numpy

目录 前言1. 一维 array 的生成2. 一维 array 的基本操作2.1. 查看属性2.2. 花式索引2.3. 条件筛查2.4. 数据统计 3. n 维 array 的生成4. n 维 array 的基本操作4.1. 查看属性4.2. 查询和切片4.3. 花式索引4.4. 矩阵 前言 Numpy是Python的常用开源数值计算扩展库&#xff0c;用…

2024年开发语言热度排名

随着技术的不断发展和变化&#xff0c;编程语言的热度也在不断演变。2024年即将到来&#xff0c;我们有必要回顾和展望当前和未来的开发语言市场。本文将基于多个因素&#xff0c;包括行业需求、社区支持、流行度以及新兴趋势&#xff0c;对2024年的开发语言热度进行排名和分析…

LabVIEW数据库管理系统

LabVIEW数据库管理系统&#xff08;DBMS&#xff09;是一种集成了数据库技术与数据采集、控制系统的解决方案。通过LabVIEW的强大图形化编程环境&#xff0c;结合数据库的高效数据存储与管理能力&#xff0c;开发人员可以实现高效的数据交互、存储、查询、更新和报告生成。LabV…

SQL语言的数据结构

SQL语言的数据结构及其应用 引言 SQL&#xff08;Structured Query Language&#xff09;是一种用于关系数据库管理系统&#xff08;RDBMS&#xff09;的标准语言&#xff0c;其核心功能是对存储在关系数据库中的数据进行查询、插入、更新和删除等操作。理解SQL语言中使用的数…

如何在 Linux、MacOS 以及 Windows 中打开控制面板

控制面板不仅仅是一系列图标和菜单的集合&#xff1b;它是通往优化个人计算体验的大门。通过它&#xff0c;用户可以轻松调整从外观到性能的各种参数&#xff0c;确保他们的电脑能够完美地适应自己的需求。无论是想要提升系统安全性、管理硬件设备&#xff0c;还是简单地改变桌…

Http 响应状态码 前后端联调

http 响应状态码 &#xff1a;是服务器在处理HTTP请求时返回的状态信息&#xff0c;用于表示请求的处理结果 1xx : 信息性状态码 100 Continue: 服务器已收到请求头部&#xff0c;客户端应继续发送请求体。 101 Switching Protocols : 切换协议。服务器已理解客户端的请求&a…

【文件锁】多进程线程安全访问文件demo

组合文件锁共享锁&#xff0c;并RAII 化&#xff0c;保证文件的跨进程线程读写安全。 demo模拟使用多个进程&#xff0c;每个进程包含多个线程对文件进行读写测试。 代码调用开源json库&#xff0c;需要下载到调试机器&#xff0c;编译时手动指定&#xff1a; g -stdc17 -pthr…

SVG图表

1、时序图 英文 #mermaid-svg-OyLuBTPnpbW9XDOB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-OyLuBTPnpbW9XDOB .error-icon{fill:#552222;}#mermaid-svg-OyLuBTPnpbW9XDOB .error-text{fill:#552222;stroke:#55…

python 轮廓 获取环形区域

目录 效果图&#xff1a; 代码&#xff1a; 效果图&#xff1a; 代码&#xff1a; import cv2 import numpy as np# 读取图像 image cv2.imread(rE:\project\jijia\tools_jijia\img_tools\ground_mask.jpg, cv2.IMREAD_GRAYSCALE) # 二值化图像 # 二值化图像 _, binary cv…

Clickhouse基础(一)

数据存储的目录&#xff0c;在存储数据时是先经过压缩后再存储的&#xff0c;压缩效率很高 操作命令&#xff1a; sudo clickhouse start sudo clickhouse restart sudo clickhouse status进入clickhouse clickhouse-client -mCREATE TABLE db_13.t_assist (modelId UInt64,…

基于spingbott+html+Thymeleaf的24小时智能服务器监控平台设计与实现

博主介绍&#xff1a;硕士研究生&#xff0c;专注于信息化技术领域开发与管理&#xff0c;会使用java、标准c/c等开发语言&#xff0c;以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年&#xff0c;拥有近12年的管理工作经验&#xff0c;拥有较丰富的技术架…

从 SQL 语句到数据库操作

1. SQL 语句分类 数据定义语言 DDL &#xff1a; 用于定义或修改数据库中的结构&#xff0c;如&#xff1a;创建、修改、删除数据库对象。create、drop alter 数据操作语言 DML &#xff1a; 用于添加、删除、更新数据库中的数据。select、insert alter、drop 数据控制语言 D…

NLP三大特征抽取器:CNN、RNN与Transformer全面解析

引言 自然语言处理&#xff08;NLP&#xff09;领域的快速发展离不开深度学习技术的推动。随着应用需求的不断增加&#xff0c;如何高效地从文本中抽取特征成为NLP研究中的核心问题。深度学习中三大主要特征抽取器——卷积神经网络&#xff08;Convolutional Neural Network, …

Excel中SUM求和为0?难道是Excel有Bug!

大家好&#xff0c;我是小鱼。 在日常工作中有时会遇到这样的情况&#xff0c;对Excel表格数据进行求和时&#xff0c;结果竟然是0&#xff0c;很多小伙伴甚至都怀疑是不是Excel有Bug&#xff01;其实&#xff0c;在WPS的Excel表格中数据求和&#xff0c;结果为0无法正确求和的…

【简博士统计学习方法】第2章:3. 感知机——学习算法之对偶形式:算法解说

3. 感知机——学习算法之对偶形式&#xff1a;算法解说 3.4 对偶形式 在原始形式中&#xff0c;若 ( x i , y i ) (x_i,y_i) (xi​,yi​)为误分类点&#xff0c;可如下更新参数&#xff1a; w ← w η y i x i ; b ← b η y i w \leftarrow w\eta y_{i} x_{i} ; \quad b …

从C到C++——探索C++的基本组成与核心语法

前言 如果你已经掌握了C语言的基本语法&#xff0c;恭喜你&#xff0c;学习C会变得更加得心应手。C 是 C 的超集&#xff0c;不仅继承了 C 的灵活与高效&#xff0c;还引入了强大的面向对象编程思想和现代化语法特性。本篇文章将带你从 C 的基础出发&#xff0c;探索 C 的基本…