
C#从入门到精通
文章平均质量分 88
以实战为线索,逐步深入.Net开发者各个环节,提升工程化编码和思维能力。
微小冷
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C#专栏目录(长期更新)
.NET专栏目录,主要包括两个主题,分别是C#和WPF,前者希望建立一条从入门到精通.Net技术的最短路径,后者以WPF3D为核心,以及介绍一些WPF的现代功能。原创 2023-02-27 08:00:00 · 1399 阅读 · 0 评论 -
WinForm对话框详解:信息框、文件对话框、功能对话框
对话框是开发中经常用到的控件,甚至在上古的MFC编程中,默认就是把一个对话框编辑成窗口。`winForm`提供了多种不同的对话框,包括信息框、文件对话框、功能对话框等,下面逐个演示这些消息框。原创 2023-05-04 08:15:00 · 7994 阅读 · 2 评论 -
C#套接字通信之UDP组播
组播和单播的差别是,必须得有一个“组”的概念,然后才能进行组播,在C#中,通过`client.JoinMulticastGroup`来实现。原创 2023-05-14 08:00:00 · 4384 阅读 · 0 评论 -
C#实战:基于WPF开发一个串口转UDP工具
串口是设备和上位机通信的常用接口,UDP则是网络通信常用的通信协议,通过将串口设备上传的指令,用UDP发送出去,或者将UDP传来的指令转发给串口设备,就可以实现设备的远程控制。所以,串口和UDP之间的相互转换是非常有意义的。原创 2023-04-03 07:30:00 · 2410 阅读 · 1 评论 -
C#接化发:串口通信
本文基于winform,以最便捷的方式,搭建了一个串口测试工具,可以快速熟悉串口开发流程。原创 2023-03-26 07:30:00 · 2206 阅读 · 4 评论 -
C#并发编程:Task
Task是建立在线程池之上的一种多线程技术,它的出现使`Thread`成为历史。本文从创建线程、启动线程、继续线程以及取消线程等方面,全面介绍C#并发编程的方法。原创 2023-03-27 08:00:00 · 2823 阅读 · 0 评论 -
C#日期时间的格式化输出
`DateTime`最常用的属性是`Now`,表示当前的时刻,其数据类型也是`DateTime`。但一般来说,`Now`包含的内容有些多,比较合适的用法是通过一些关键字进行格式化输出,这些关键字可以是单个的字母,如下例所示原创 2023-03-13 08:15:00 · 1486 阅读 · 0 评论 -
C#实现TCP和UDP通信
发送和接收看上去是对偶,但难度上完全是两回事,这种感觉就像你给女神发消息,其实很方便,按下发送键就完事儿了。但你等女神的消息,那就比较煎熬,因为你不确定她什么时候会发过来,所以得一直等着。所以,接收比发送麻烦多了,最起码得有一个死循环,如果对方没消息,就死等。原创 2023-03-01 08:00:00 · 2555 阅读 · 0 评论 -
C#协变与逆变:解锁高级编程技巧,轻松提升代码性能
协变逆变在面向对象语言中是非常高级的功能,目的是保证泛型类在继承时的一致性。毫不夸张的说,懂了协变逆变,就可以大言不惭第自称是C#高手了。原创 2024-03-09 08:02:12 · 1625 阅读 · 1 评论 -
一次学会C#十二大修饰符
在快速入门教程中已经疏解了一些面向对象的基本概念,但并不深入,只对类的构造和继承做了简单的介绍。下面将深入理解C#的面向对象,文集中针对12个修饰符以及接口,从内到外对类进行展开讲解。原创 2024-03-23 08:18:39 · 2869 阅读 · 0 评论 -
C#泛型:高级静态语言的效率利器
所谓泛型,就是创建一个函数,对所有数据类型都生效。最常见的例子就是运算符,毕竟`1+1=2`,`1.0+1.0=2.0`,足以看出`+`是对多种数据类型起作用的。但是,对于函数`add(int a, int b)`,输入`add(1.0, 1.0)`是肯定要报错的,VS直接标红,根本不给编译。泛型的出现,就很好地解决了这个尴尬的问题原创 2024-03-10 14:15:53 · 1949 阅读 · 2 评论 -
懂了委托,才算真正入门C#
委托这个名字取的神乎其神的,但实质是函数式编程,把函数作为参数传递给另一个参数,在图形界面编程中非常常用,是控件绑定动作的基本方法。原创 2023-02-01 13:43:49 · 4443 阅读 · 2 评论 -
C#处理Gauss光斑图像[通过OpenGL和MathNet]
通过C#构建一个简单的Win Form程序,用于高斯光斑的处理。通过SharpGL进行点云图的绘制,通过MathNet进行Gauss函数的拟合,通过OxyPlot进行拟合数据的展示。原创 2021-05-26 10:38:24 · 3424 阅读 · 5 评论 -
C#读写Excel
其打开流程,包括打开Excel程序、打开Excel文件以及打开sheet;表示已写入的区域,其对应的行数和列数就比较有代表性,根据这两个值进行循环,就可以把刚刚写入的数据打印出来了。这里需要建立起对Excel中数据组织的一个概念,首先是Excel软件,一个软件可以打开多个。为了重点突出重点,下面争取用最短的代码,写一个将多维数组写入Excel并保存的函数。读取与写入的流程相似,但写入时需要至少有一个Excel文件,刚好刚刚创建了一个。之类的,直接开撸代码。操作Excel的基本流程:打开->操作->关闭。原创 2022-11-26 08:15:00 · 9889 阅读 · 3 评论 -
WinForm,可能是Windows上手最快的图形框架了
WinForm是一门非常经济实惠的技术,就是说,可以在短时间内学会,并迅速借此进行项目开发。尽管在很多方面不够现代,做出来的东西又Low又丑,但绝大多数的应用场景也不需要高端大气上档次。或许正是因为这种特点,`WinForm`在工控领域用得非常多,毕竟可以迅速实现某个小功能。原创 2022-11-19 08:41:27 · 7245 阅读 · 1 评论 -
抽丝剥茧,C#面向对象快速上手
以实战为线索,用最短的篇幅,打造C#面向对象编程最迅速的学习路线原创 2022-11-18 07:30:00 · 2740 阅读 · 1 评论 -
超快速成,零基础掌握C#开发中最重要的概念
根据多年的C#开发经验,详解C#编程过程中最重要的一些知识,希望可以让初学者看了之后,能快速上手C#开发。原创 2022-11-17 07:00:00 · 2257 阅读 · 1 评论 -
【C#】WPF 3D 选中并挪动几何体
据说我的世界是三个程序员用一周开发出来的,那一个程序员用半天开发出一个乞丐版的我的世界,讲道理是完全没有问题的。我的世界已经被微软买走了,那我做的这个到时候是卖给苹果呢还是卖给谷歌呢→_→【本文是WPF3D系列最后一篇博客】原创 2022-04-27 10:02:59 · 2279 阅读 · 8 评论 -
[C#]WPF 3D光效之给地球点颜色看看
文章目录交互式调节光效给地球点颜色看看交互式调节光效接下来想动态实现光照效果,即如下图所示看到这个滚动条,大家可能马上想到,将Slider和Light的内容绑定在一起似乎更容易实现。所以第一步就是把光效和几何模型分开,其着手点自然是mainViewport,将其内部填充如下内容。<Viewport3D Name="mainViewport"> <Viewport3D.Camera> <PerspectiveCamera x:Name="came原创 2022-04-22 23:00:58 · 1290 阅读 · 0 评论 -
[C#]WPF 3D光效
前情提要WPF 3D初步用键盘控制相机视角用鼠标控制相机视角为你的二次元老婆们做个3D画廊用C#搓一个地球尽管生成了个地球,但总感觉哪里有些不对,关键在于光给得太平均了,自东至西,地球所有的地方都是同样的亮度,这显然是不合常理的。之所以会出现这个问题,乃因我们一直采用的光效是AmbientLight,这种光效的特点就是统一照明所有对象。为了让地球转起来更加真实,或许来一个点光源比较好,毕竟太阳就是一个点。结果使用点光源之后,效果如下代码很容易修改,即在坐标为(5,−2,5)(5,-2原创 2022-04-21 08:23:39 · 1698 阅读 · 0 评论 -
WPF3D贴图:用C#搓一个地球
前情提要WPF 3D初步用键盘控制相机视角用鼠标控制相机视角为你的二次元老婆们做个3D画廊将方形的图像映射到正方形上似乎并没有什么难度,所以接下来要做的是把图像映射到球面上。而球的参数方程为x=rsinφcosθy=rsinφsinθz=rcosφ\begin{aligned}x&=r\sin\varphi\cos\theta\\y&=r\sin\varphi\sin\theta\\z&=r\cos\varphi\end{aligned}xyz原创 2022-04-19 19:24:05 · 6849 阅读 · 9 评论 -
WPF 3D 贴图: 为你的二次元老婆们做个3D画廊
接下来想做一个图廊,所以并没有必要用立方体,只需做一些“墙壁”就行了。所以本文的新内容实质上就是如何使用贴图。原创 2022-04-17 19:57:31 · 2118 阅读 · 0 评论 -
[C#]WPF用鼠标控制相机视角
前情提要WPF 3D初步用键盘控制相机视角部分源码参考Github,是一本名为WPF-3D的书的代码,有条件的可以买下实体书。文章目录将键盘控制封装成类用鼠标控制视角将键盘控制封装成类目前已经实现了通过上下左右和Q、E这六个键来调整相机的视角,由于这些功能彼此之间比较集中,按照低耦合、高内聚的原则,封装成一个类是十分合理的。而这样做的结果就是,让MainWindow中的代码大大缩减,只剩下Window_Loaded、DefineCamera、DefineLights、DefineModel原创 2022-04-15 15:58:39 · 1988 阅读 · 0 评论 -
[C#]WPF用快捷键调节相机位置
文章目录键盘和鼠标的控制多个立方体添加动作键盘和鼠标的控制多个立方体只有一个立方体无论怎么看都看不出什么花样,所以接下来准备新建多个立方体。那么前提就是将立方体封装成一个函数,从而不必每次都写重复的代码。而又因涉及到多个图形,所以在cs端写比较便捷,其xaml代码中除了主Window外,只有一个<Viewport3D Name="mainViewport"/>最终得到的图形为在下面的代码中,w是正方体边长,x,y,z为正方体中心。private MeshGeometry3D原创 2022-04-13 18:56:13 · 1454 阅读 · 2 评论 -
[C#]WPF绘制一个正方体并调整视场角
大部分源码参考Github,是一本名为WPF-3D的书的代码,有条件的可以买下实体书。文章目录xml写法调整相机视场角cs写法xml写法若只是希望新建一个下面这样简单的3D图形,那么只需修改xml就能实现。其主要分为两个部分,如下面的代码所示,其中ModelVisual3D即位集合模型,而<Viewport3D.Camera则代表相机视角。我们在屏幕上所看到的三维图,实际上是相机拍摄到并转化为二维的图。<Window> <Viewport3D>原创 2022-04-10 15:53:06 · 4741 阅读 · 2 评论 -
【WPF】用100行C#代码实现扫雷
用100行C#代码实现一个扫雷程序,非常简单,适合新手入门。原创 2023-01-17 17:23:10 · 4189 阅读 · 1 评论 -
【C#】WPF实现经典纸牌游戏,适合新手入门
通过C# WPF实现了经典的纸牌游戏。原创 2023-01-24 13:26:09 · 4469 阅读 · 2 评论 -
WPF Image控件的初步使用
Image是Wpf中用以展示图像的控件,本文介绍其基本功能。原创 2021-09-11 11:33:43 · 10390 阅读 · 1 评论 -
一文搞懂WPF布局
一文搞懂WPF布局原创 2021-09-10 13:54:17 · 1916 阅读 · 0 评论 -
WPF作图神器Interactive DataDisplay的初步使用
Interactive DataDisplay是一款比较优秀的C#绘图控件,尽管与一些商业控件还有不小的差距,关键是开源免费轻量。原创 2023-01-23 01:21:28 · 5627 阅读 · 1 评论