自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 C#中对象的相等性与同一性的判断方法总结

在C#中,对象的相等性(equality)和同一性(identity)是两个不同的概念。相等性(Equality):相等性指的是两个对象的值是否相等。对于引用类型,默认情况下相等性比较的是对象的引用,即两个对象是否引用同一个内存地址;但可以通过重写 Equals 方法来自定义相等性比较的逻辑。对于值类型,相等性比较的是对象的值。同一性(Identity):同一性指的是两个对象是否是同一个实例。如果两个对象引用同一个内存地址,则它们是同一实例;否则,它们是不同的实例。

2024-03-05 20:08:00 1293

原创 C#中LinkedList<T>的快速上手

LinkedList< T> 是 C# 中的一个泛型集合,这个集合实现了一个双向链表;集合的每个元素都是一个链表节点(LinkedListNode< T> 类型);每个 LinkedListNode< T> 对象包含三个关键部分Value:存储实际的数据(泛型类型 T)。Next:指向链表中下一个LinkedListNode< T> 的引用。Previous:指向链表中上一个。

2024-01-21 12:44:47 1202

原创 C#中ArrayList运行机制及其涉及的装箱拆箱

装箱和拆箱操作都涉及内存分配和数据复制,这在性能上有一定的成本。特别是在频繁执行这些操作的情况下,性能影响可能更为显著。由于 ArrayList 是一个非泛型集合,它可以存储任何类型的对象。但这种类型的不确定性会导致运行时错误,并且需要频繁的类型转换。因此,在需要存储不同类型数据的场景中可以使用 ArrayList,但现代的 .NET 开发中,推荐使用泛型集合,如 List,因为它们提供了类型安全和更好的性能。随着泛型的普及,可以通过使用泛型集合(如 List)来避免许多不必要的装箱和拆箱操作。

2024-01-21 00:03:15 1039

原创 C#中List<T>底层原理剖析

List的效率并不高,甚至比数组还差,只是通用性强而已;List 的内存分配方式也不合理。当List 里的元素不断增加时,会多次重新分配数组,导致原来的数组被抛弃,造成回收的压力。对于第2点的问题,我们可以在创建List 实例时提前告知 List 对象最多会有多少元素在里面,这样 List 就不会因为空间不够而抛弃原有的数组去重新申请教组了。

2024-01-07 13:11:23 1425

原创 在.Net 5或更高版本的.Net中使用appsettings.json配置文件

对于 .NET Framework 应用程序,我们始终使用app.config来存储应用程序的配置值。在.NET Core或者.Net 5包括其他更高版本的.Net框架中,我们需要使用appsettings.json文件,而不是App.Config文件。

2023-10-18 00:11:21 792

原创 关于《考研数学高分公式》系列的后续及一点说明

在昨天,当我再次登录CSDN时,我惊讶地发现《考研数学高分公式》这一系列的两篇文章竟然拥有超过数万次的阅读量。许多学弟学妹也通过私信向我询问,为什么不再继续更新这个系列了。未及时回复他们,颇感惭愧。我仔细考虑之后,决定。这样做一是为了给自己早已结束的备考生活一个交代,二是希望这些内容能够对学弟学妹们有些许的帮助。

2023-09-14 13:09:53 196 1

原创 解决Sql WorkBench中数据库不能重命名的问题

MySQL 不支持直接重命名数据库,但可以通过创建新数据库,并将老数据库的所有内容复制到新数据库,然后删除老数据库来实现重命名数据库的目的。

2023-03-02 23:00:23 2349 1

原创 C# 实现 简体<--->繁体 的互相转换

一、介绍项目源码、Encode.dll文件在文末链接处,需要的自取1)背景​ 对于很多人来说,学过简体字之后能很轻松的认识繁体字。但是如果说要根据简体字写出繁体字的话,没经过学习还是不容易的。​ 这次正好我的一个朋友需要Hongkong那边的客户打交道,所以我给她写了这个简繁转换的小工具。2)功能:实现简体—>繁体、繁体—>简体的转换3)环境系统:Windows 10环境:.Net Framework 4平台:VS 2019 winform4)第三方工具Encode.d

2021-07-18 00:09:58 3115 10

原创 使用SQL Server分析2020全国大学生数学竞赛河南赛区结果

目录文章目录背景开始1、原始文件2、将Excel导入SQL Server。3、查看导入的数据表1)先重命名一下表的名字2)删除那一个多余的列。3)删除值为NULL的行1)按性别分组2)按每个学校的获奖总人数排序。3)将SQL查询结果导出为Excel最后本次所使用的数据链接:https://pan.baidu.com/s/1Dv3MdMWX2Zr58q96JcDhgQ 提取码:zhk7 背景昨天,也就是2020年的最后一天,全国大学生数学竞赛河南赛区的结果终于发布,有人欢喜有人愁。元旦小假期,闲

2021-01-01 15:33:27 3528 9

原创 C#小游戏——贪吃蛇~详细过程+全部代码

文章目录一、介绍1)背景2)环境3)演示游戏过程文件格式4)基本逻辑概述i 游戏主体ii 刷新iii 控制蛇的移动iiii 保存最高记录iiiii 吃食物iiiiii 记录用户的输入(很重要)二、步骤1)ControlFrm窗体2)GameFrm窗体:游戏窗体i 变量ii 窗体加载事件iii 玩家敲击键盘的事件iiii timer1 tick事件:iiiii 相关方法蛇移动的方法擦除蛇身生成食物判断是否吃到食物从磁盘文件中获取历史最高分播放音乐死之前判断是否打破了记录iiii

2020-11-28 22:44:41 15057 42

原创 考研数学公式Day2:对1/(a+bcosx)的积分

摘要条件:(a2>b2):∫1a+bcosxdx=2a+ba+ba−barctan⁡(a+bb−atan⁡x2)+C条件:(a^2>b^2):\int{\frac{1}{a+bcosx}dx}=\frac{2}{a+b}\sqrt{\frac{a+b}{a-b}}\arctan(\frac{a+b}{b-a}\tan\frac{x}{2})+C 条件:(a2>b2):∫a+bcosx1​dx=a+b2​a−ba+b​​arctan(b−aa+b​tan2x​)+C条件

2020-11-16 11:02:47 17338 3

原创 考研数学公式Day1:对secx与cscx的积分

摘要公式1:∫1cosxdx=∫secxdx=ln⁡∣secx+tanx∣+C公式1:\int{\frac{1}{cosx}dx} = \int{{secx}dx} = \ln|secx+tanx|+C公式1:∫cosx1​dx=∫secxdx=ln∣secx+tanx∣+C公式2:∫1sinxdx=∫cscxdx=ln⁡∣cscx−cotx∣+C公式2:\int{\frac{1}{sinx}dx} = \int{{cscx}dx} = \ln|cscx-cotx|+C公式2:∫sinx1​dx

2020-11-15 10:11:39 39719 6

原创 VS 2019安装python第三方包

1、工具->python->python环境打开Python环境窗口,可以看到VS当前的python环境(高亮的那个)。2、打开powershell,在打开的窗口中正常输入pip命令即可安装。3、有时候 “pip install 库名” 的方式会很慢,所以使用一个镜像路径下载比较好。pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 库名...

2020-11-14 09:02:37 4542

原创 【一键操作】C#将DLL嵌入到exe当中

1、下载一个包:打开项目,在Nuget里下载 Conyura.Fody(Costura.Fody)安装在你的项目中。2、编译运行。就行了。

2020-11-09 20:52:11 639

原创 C#获取电脑操作系统名称

一、问题背景最近在设计一个桌面的工具箱,其中有一个功能是显示电脑的信息,包括电脑的操作系统名字。于是搜索了网上的众多内容,差不多都是通过下面的代码:string version = Environment.OSVersion.VersionString;获取到 NT 6.X,NT5.X 等等,再对应到系统版本。但是这样做的方式已经被微软抛弃请看。之后查阅众多资料,终于能够比较简单的方式,获取到了系统版本。二、演示三、方法1、首先是在项目中添加引用:2、在项目中引用:using Micr

2020-11-07 23:06:31 1416

原创 C#阻止应用程序多开:使用Mutex类

一、问题当我们编译调试好程序后,打开程序生成的exe文件,发现几乎可以无限次的打开(当然内存要足够多)。如图:二、所用类与方法using System.Threading;Mutex mutex = new Mutex(true, "随便起的名字", out bool createNew);//之后判断createNew的值若为false,说明已经存在一名为"随便起的名字"的进程了。若为true,则表示可开启一个新的进程。mutex.ReleaseMutex();//释放Mutex三、

2020-11-04 13:10:43 795

原创 求某区间内所有素数的算法(简单到进阶)

求某区间内所有素数的算法(简单到进阶)一、寻找素数1、暴力求解。时间复杂度:n根号n枚举每个数,判断是否有正整数能整除这个数。for(int i=2;i<n;i++) { int flag=0; for(int j=2;j*j<=i;j++) { if(i%j==0) { flag=1; break; } } if(flag==0) a[k++]=i;/

2020-09-25 12:57:35 5023

原创 Linux下编译并运行C语言

弄好了,不容易。方法很多,以后再补充。第一步:什么方法都得安装GCC,故先说这个。①打开系统终端,输入命令:yum install gcc。如图:②片刻之后,出现下图,输入y,回车:③片刻之后,出现下图,输入y,回车:④片刻之后,出现下图,表明已安装完成:⑤输入gcc再回车,出现下图,表明成功安装!!!第二步:编译并运行一个C程序方法①输入命令如下,vi+文件名(自己随便命名)②进入vi编辑器之后,先敲击“i”进入编写状态,再敲入C代码:③代码敲结束,敲击Esc键,输入:w

2020-09-22 09:47:06 706

原创 vs前期下载很快,最后20%下载巨慢的问题

这篇文章解决的问题是:vs前期下载很快,最后20%下载巨慢的问题。如图,每次下载vs下载到最后一部分时,突然变得很慢,只有几十k的速度,这绝对忍不了啊!!!1、查看此时此地的DNS最快的节点点击站长工具,查找DNS,输入download.visualstudio.microsoft.com查询其响应IP记下TTL值最小的那一个IP。2、修改hosts文件打开目录如下C:Windows\System32\drivers\etc注意,先以管理员身份打开记事本,再在记事本中安装此路径打开ho

2020-09-13 21:44:29 1068 2

原创 C#通过Aforge调用电脑摄像头(附代码)

C#标准库本身不带有能调用电脑摄像头的库,如果利用windows自身的API来实现的话,着实有些麻烦。Aforge这个第三方库能很好的实现调用、处理的功能。PS:文末给大家分享了完整的项目源码,各位最好先下载下来,对照着来看1、先看一下效果2、Aforge介绍AForge.NET是一个专门为开发者和研究者基于C#框架设计的,这个框架提供了不同的类库和关于类库的资源,还有很多应用程序例子,包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器人等领域。3、我使用的开发环境操作系统

2020-09-04 13:44:12 14982 34

原创 C#泛型方法、传统方法与object传值性能的比较

一、测试方法分别对几种方法进行一亿次的循环,每次循环调用一次相应的方法。为了防止其他的误差,都使用空方法体。同时利用Stopwatch类计时。三种方法如下: //传统方法 static void N1(int a) { } //泛型方法 static void N2<T>(T a) { } //使用object传值方法 static void N3(object a) { }二、测试主代码p

2020-08-08 00:28:41 463

原创 vs code出现preLaunchTask已终止,退出代码为1

vs code出现 preLaunchTask"" 已终止,退出代码为1 的常见情况汇总闲话少说,以下情况由由 “**低级错误”到“高级错误”**描述:1、文件名错误配置文件的文件名应是tasks.json,不是task.json2、前后配置匹配错误.vscode 文件中配置 tasks.json 中的 label 字段与 launch.json 中的 preLaunchTask 字段一致.3、程序错误有的错误vs code不会报告给你。下面就是个例子,我把同样的代码在vs上运行,vs就能提

2020-06-13 18:06:56 45720 8

原创 用python的turtle库画个笑脸(附代码)

前言其实在学校没学过Python,只不过这次疫情在家着实有点闲,所以就借机看了看Python。就感觉python太强了,而且在实现相同效果下更简单。学过C,C++和C#,python我感觉算是最简单的了(可能是因为我接触的少吧)。看了mooc上的一些视频,就开始展示展示吧。第一次学的库就是海龟(turtle)库,感觉即好玩又简单,所以就写了这个小画。看着简单,其实也费了一些力气。以后熟悉了就再画点好玩的吧!一、介绍使用平台:VS 2019(含Python3.7)使用库:标准库turtle二、演示

2020-06-11 14:53:36 11870

原创 Arduino实现超声波测距+LCD液晶屏实时显示

Arduino实现超声波测距+LCD液晶屏实时显示1、描述利用HC-SR04超声波测距模块,基于Arduino实现测量距离,并将结果显示在LCD1602液晶显示屏上。2、所用食材一个HC-SR04模块、Arduino开发板、面包板、电阻及导线若干。3、电路图有一点需要注意一下,图中的电阻最好选用阻值在3k附近的电阻,这样会有更好的清晰度。当然如果接一个可变电阻上会更好,这样可以手动调...

2020-05-04 20:46:06 22167 49

原创 线性表经典算法题-在顺序表中删除所有值为x的元素

线性表经典算法题-在顺序表中删除所有值为x的元素1、题目要求:时间复杂度为O(n),空间复杂度为O(1)例如:表(3,5,2,3,8,3,7,3),删除3后,变为(5,2,8,7)2、算法思想:从头开始扫描顺序表,对于值为x的元素,用变量k记载出现的次数,对于不等于x的元素将其前移k个位置。3、实现语言:c++4、核心代码:void Delete(List L, Elemen...

2020-04-05 12:20:23 6569 2

原创 Typora更换主题详细步骤

Typora更换主题详细步骤看到原始的Typora原始的主题不太好看,于是跟换一下主题吧!1、首先去Typora的官网,在首页的右上方看到主题选项点击。这里直接点击这里即可;2、跳转到这个页面,点击自己喜欢的主题(这里我选择的是第一个主题)3、进入到下载页面,点击右面的Download4、进入主题的GitHub页面,点击箭头所示的链接,下载主题的安装包(这里要说明一下,由于q的原因最...

2020-02-25 21:07:05 16935 12

原创 vscode配置c/c++编译环境(最终解决办法)

vscode配置c++编译环境出现各种问题之后仍然解决不了的最终解决办法如图,博主在用vscode配置c++时出现了很多问题:当时真的要崩溃了,preLaunchTask"Compile"已终止,退出代码为1。这个错误一直解决不了在搜索网上众多博主的解决办法并进行尝试仍然无果。最后采用下面的办法终于能正常调试c++程序。如果你和我类似,不妨试试我的步骤。1、首先,卸载你的vscode(别...

2020-02-21 20:10:57 72762 106

Snake_csharp.zip

贪吃蛇全部代码。

2020-12-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除