【CSharp高级编程】委托
前言关于委托,我一开始同样也是没打算写的,但是考虑到我要写 lambda表达式的相关内容,于是不得不先说明委托的内容。对于初学者来说,第一次见到委托应该是在 Win 的事件模型中吧,反正我是这样的,这部分将对委托做详细说明。
委托委托这一特性存在的目的是封装目标代码。封装好的代码可以在应用程序中进行传递,并根据需要执行(要保证参数和返回值的类型安全)。在C# 1时代,委托基本上用于事件处理和启动线程。即使在 2005 年后的C# 2推出之后,这一状况也没有太大变化。直到 2008 年 LINQ 问世,C# 开发人员才开始适应这种把函数传来传去的编程方式。
C# 2提供了 3 种 创建委托实例的新方式,同时支持声明泛型委托,比如EventHandler<TEventArgs>和Action<T>。
方法组转换所谓方法组,就是一个或者多个同名方法。可以说,我们在每天不知不觉中使用方法组,因为每调用一次方法就是对方法组的一次使用,代码示例:
1Console.WriteLine("Hello,World");
表达式Console.WriteLi ...
【CSharp高级编程】泛型
前言我本来之前打算出一个C#入门到中级的相关文章教程的,但是考虑到太简单了我实在是懒得写了,可以参考很多网上的教程来学习,对于现在的我来说,我更加想记录一下C#的高级教程,因为对于C#的高级用法网上的教程并没有太多或者说太详细或者系统,也算是记录我自己的C#进阶路程。
前排提醒:查看学习本文章,需要掌握一定的C#基础。
引用说明:部分内容学习自网络和《深入理解C#》
泛型在C#入门的时候,就大概说明过泛型的用法和功能,它可以在不需要事先知道要使用的类型,即可以在不同位置表示相同的类型。在C# 2之前(即.NET 1),泛型主要用于集合。如今,泛型以及广泛应用到各个部分,其中使用较多的如下几项:
集合
委托(尤其是LINQ中的应用)
异步代码(Task<T>表示该方法将返回一个类型为T的值)
可空值类型
如下实例将会从集合角度来展示泛型的优势。
泛型诞生前的集合在.NET 1有如下三大类集合:
数组:语言和运行时直接支持数组。数组的大小在初始化的时候就确定了。
普通对象集合:API中的值通过System.Object描述。尽管诸如索引器和和foreach语句这些语 ...
关于我的Unity自述
前言依次纪念我大学追求游戏开发的自己,我记得大概是20年10月份吧或者11月份,我正式开始了Unity的学习,我的游戏开发结束于21年暑假结束,在大三上,在我掌握并开发了一定的Unity游戏开发后,去学习了桌面软件开发,并且掌握了Winform和WPF开发技术,其中还有许多其他方面的东西。
关于我如何自学的自述当然这一切都归功于Unity在学习游戏开发的过程中,我接触到了很多其他的东西,我看过很多教程,目前总结出来的自学流程:对于想要的学习的东西通过网络上查询了解概况,逞钱的伙伴可以直接买相关书籍,或者为了省钱的可以去学校图书馆借书,我很喜欢我们学校的图书馆,我曾经最多借书超过20本未还,当然借书多不代表能看得完,有些是需要长期来学习的,有些是短期来学习的,书籍是真的很好的东西,其次是教学视频,很多情况下我目前个人建议是不要过分依赖视频,视频教学可以让我们快速上手,但是对于教学内容来说全看视频制作者想讲什么或者视频制作者的见识,存在一定的局限性,综述来说:书籍 > 网络上的教学视频,然后就是跟着做,在学的时候要记笔记,我从一开始使用微软的OneNote笔记到后来的Markdown ...
LaTex基础(上)
前言从MS Office 到 Markdown 再到 LaTex,每个不同的编辑软件都对不同的文本排列提供了一种解决方案,可以根据自己的实际需求来合理使用,我尝试记录最基本且简单的语法来说明LaTex的使用语法。
我使用的 LaTex 编辑器为 TexStudio,Tex的宏包直接安装的 Tex Live。
本文内容是我个人学习自 《简单高效LaTex》以及百度和Bilibili相关网站的学习内容整理笔记
认识LaTex
前排提醒:LaTex对大小写敏感,即区分大小写
命令与环境LaTex中的命令通常是由一个反斜杠加上命令名称,再加上花括号内的参数构成,例如:
1\documentclass{ctexart}
如果一些选项是有其他可以缺省的参数,一般在花括号前使用[]来指定,例如:
1\documentclass[UTF8](ctexart)
关于LaTex的正文部分,写在一个称为环境的部分,其格式类似于HTML的body,需要将内容写在其间,例如:
123\begin{environment}这里是你的内容\end{envi ...
MarkDown进阶用法
MarkDown进阶用法前言对于常规的排版问题,MarkDown给出了简单的解决方案,但是如果我们希望能够做出顺序图/时序图或者相关流程图,又或者数学相关工作者希望的相关数学公式显示问题又怎么解决呢?
学习此部分,需要掌握一定的MarkDown基础
本部分内容为个人经验总结
本篇最后更新于 时间 ,部分内容可能与现在不符,请自行判断
——生命的意义不在于躲避风雨,而是在雨中起舞♬
转义字符如果在使用过程中,用户想要输入类似于 * 的等已经有相关意义的字符怎么办?这个时候就需要使用转义字符来表示你要单独使用该字符了,告诉编译器不要翻译成markdown格式了。MarkDown支持在下面的字符前插入反斜杠(\)来实现转义。
123456789101112\ 反斜线` 反引号* 星号_ 下划线{} 花括号[] 方括号() 小括号# 井字号+ 加号- 减号. 英文句点! 感叹号
脚注创建脚注格式类似这样 [^Markdown]。
[^Markdown]: MarkDown – Markdown是一种轻量级标记语言, ...
如何化身嘉然小姐来参加网课
前言我们终于开始上网课了,看到网课的摄像头,啊很快啊,一个整活的想法油然而生啊。反手就是一个嘉然小姐,一个面补,我都打出去了,他都防住了,我说对不起我是瞎放的,他说我可不是瞎放的,视频后期,绿幕抠图,虚拟摄像头一看就是有备而来………
扯远了,关于最终的思想效果,如下图:
感谢林某爹提高的图片
软件准备和环境说明【配置说明】
Win10操作系统
vTube studio最新版
OBS Studio最新版
腾讯会议
VTube studioVTube studio的安装这个软件是Vtube即2D模型/2.5D模型的运算场景,说人话就是虚拟人物和面部捕捉是在这个软件进行的,首先打开Steam,搜索VTube studio,如下图,选择安装即可
如果你的足够有能力的话,可以购买DLC来支持一下该软件
安装完成后,运行VTube studio界面如下图,在进入软件的时候会弹出一堆相关说明,确认即可。
VTube studio的使用模型捕捉绑定在安装完成后,进入软件的界面,首先需要记住的是可以使用双击来唤醒菜单,关于各个部分的功能如下图:
现在你所看到的人物模 ...
正则表达式
前言正则表达式是去年夏天我就想说明的东西了,不过一直鸽到现在,这部分将会记录正则表达式的基本语法以及一个C#应用实例。
关于正则表达式学习个人的相关推荐:
learn-regex
正则表达式 - 教程
10分钟快速掌握正则表达式
关于正则表达式测试的网站:
RegExr
Regulex
关于正则表达式在线生成工具(1/2不表示排名):
正则表达式在线生成工具1
正则表达式在线生成工具2
正则表达式关于正则表达式百度百科的定义如下
正则表达式,又称规则表达式。**(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
通俗来说,就是我们常用的Word搜索功能的加强版,它可以通过特定的语法格式来实现文本搜索(匹配),来满足我们期望找到的文本。
Regular expression(正则表达式)这个词比较拗口,常使用缩写的术语“regex”或“regexp”
基本语法基本匹配正则表达式的基本匹配是我们常规的搜索类型,即所见即所得,例如:输入 ...
【NEW-4.0】R-基本图形
前言这不是基本图形的说明使用,例如常见的条形图,饼图,直方图等,此内容可以当作快速查阅手册。
条形图简单条形图条形图通过函数barplot()来实现,函数原型如下:
12345678910barplot(height, width = 1, space = NULL, names.arg = NULL, legend.text = NULL, beside = FALSE, horiz = FALSE, density = NULL, angle = 45, col = NULL, border = par("fg"), main = NULL, sub = NULL, xlab = NULL, ylab = NULL, xlim = NULL, ylim = NULL, xpd = TRUE, log = "", axes = TRUE, axisnames = TRUE, cex.axis = par("cex.axis"), ...
关于R以及Rstudio的相关问题
前言这部分记录我所遇到的相关R及其Rstudio的问题,以及一些需要快速查阅和记忆的东西,由于问题过于琐碎,本来不愿意单独写出,如今记录成一篇文章,以此记录。
快速查阅快捷键
快捷键
功能
Ctrl + L
清空控制台
Ctrl + 1
光标聚焦到代码编辑区
Ctrl + 2
光标聚焦到控制台区域
Ctrl + 3
焦点聚焦到帮助区域
Ctrl + 5
焦点到文件区域
Ctrl + 6
光标聚焦到图上
Ctrl + 7
焦点聚焦到包区域上
Ctrl + 8
光标聚焦到环境上
Ctrl + Enter
运行当前行
Ctrl + Shift + Enter
运行当前R文件
Alt + -
左赋值号
Alt + =
右赋值号
Ctrl + Shift + M
%>%
Ctrl+Shift+C
注释/取消注释行
Alt + Shift + K
快捷键帮助面板
常用查询命令
函数
功能
nrow(obj)
查看数据多少行
ncol(obj)
查看数据多少列
dim(obj)
查看多少行 ...
【NEW-3.0】R-图形初阶
前言千呼万唤始出来,终于到了图形这部分,这部分主要说明如何创建和保存图形以及图形相关常用的参数使用。
图形相关基础函数使用图形首先,先在你的R上运行如下代码:
123456789101112# 创建一个 1.jpg 的文件jpeg('1.jpg')# 绑定trees数据attach(trees)# 根据Height和Volume绘制点图形plot(Height,Volume)# 自定义图形标题title("这是一个标题")# 解除绑定trees数据detach(trees)# 返回输出结果dev.off()
运行后会在当前工作目录下产生一个名称为1.jpg的图片,如下所示:
这就是所生成的图形,利用的是trees数据所生成的图形。
图形输出用于图形输出的函数如下所示:
函数
功能
pdf('filename.pdf')
输出PDF文件
png('filename.png')
输出PNG文件
jpeg('filename.jpg/jpeg')
输出JPG文件
bmp(&# ...