
C#
fkdw
这个作者很懒,什么都没留下…
展开
-
.net farmework 4.8 类库中添加 wpf 窗体
一般正常情况下,在 .net farmework 4.8 类库中是无法添加 wpf 窗体的,如下图但是可以添加 winform 窗体,如果想添加 wpf 窗体,需要一些更改在程序集这里添加库,直接搜索名字即可需要添加下面库:PresentationCorePresentationFrameworkSystem.XamlWindowsBaseWindowsFormsIntegration先关闭 Visual Studio 用记事本打开你项目的 csproj 文件添加一行标签:<ProjectTypeGuid原创 2025-03-31 17:09:50 · 262 阅读 · 0 评论 -
Winform 版本自动增加
不重新生成的话,AssemblyVersion 这里版本号不会变。将项目的 .csproj 文件用记事本或者其他的软件打开。找到 Deterministic 这个节点。打开 AssemblyInfo.cs。改完后发现报错了,不用管,关闭项目。重新打开项目,这时候就不会报错了。将其改为 false,然后保存。原创 2024-09-26 15:28:39 · 266 阅读 · 0 评论 -
C# Winform 全局捕获异常
【代码】C# Winform 全局捕获异常。原创 2024-08-24 09:37:39 · 221 阅读 · 0 评论 -
C# 加密图片
【代码】C# 加密图片。原创 2024-08-24 09:28:53 · 180 阅读 · 0 评论 -
C# FTP 读取文件列表,大小,时间
【代码】C# FTP 读取文件列表,大小,时间。原创 2024-08-24 09:24:38 · 742 阅读 · 0 评论 -
C# 将二进制 stl 文件转为 ASCII 格式
【代码】C# 将二进制 stl 文件转为 ASCII 格式。原创 2024-08-16 15:12:01 · 226 阅读 · 0 评论 -
C# TcpClient
TcpClient 自己封装的话,还是比较麻烦的,可以基于线程,也可以基于异步写,最好的办法是网上找个插件,我发现一个插件还是非常好用的:STTech.BytesIO.Tcp。目前网上大部分帖子都是用 PropertyGrid 控件去实现的,其实没必要。下面是这个插件作者的帖子,有兴趣的可以去看看。我做了一个简单的界面,如下。原创 2024-05-29 10:04:18 · 757 阅读 · 0 评论 -
C# .Net8 switch 的用法
如果将 day 设置为 30,在所有的选择中都找不到,那么结果就自动执行 _ 选项代码。在 .net 8中,switch 不需要再和传统的写法一样了,会更加的方便。switch 的写法没必要和以前一样。创建一个 .net 8 控制台项目。原创 2024-05-13 16:52:45 · 521 阅读 · 0 评论 -
VS .Net8 去掉空值警告
在.NET 8中,如果你遇到了频繁的空引用异常(NullReferenceException)警告,这可能是因为启用了代码分析器(Code Analyzer),特别是与可空引用类型(Nullable Reference Types)相关的规则。这些规则旨在帮助开发者避免空引用异常,提高代码的健壮性。可空引用类型是C# 8.0引入的一项特性,它允许开发者明确地声明一个引用类型变量是否可以为null。原创 2024-05-13 10:17:19 · 932 阅读 · 0 评论 -
C# IAsyncEnumerable<T> 的用法
在C#中,IAsyncEnumerable 接口用于表示异步的可枚举序列。自C# 8.0起,这个接口允许你在等待异步操作的同时进行枚举,这在处理流式数据或大量数据时特别有用,比如从网络请求或文件流中读取。IAsyncEnumerable与传统的IEnumerable类似,但它的枚举器返回的是ValueTask而不是T。3.处理长时间运行的数据生成过程,如监控或实时数据馈送。1.处理数据库查询结果,这些结果是异步流式返回的。2.从网络读取数据,每个数据块在可用时逐一处理。原创 2024-04-30 16:55:09 · 395 阅读 · 0 评论 -
C# ValueTuple 值元组的用法
C#中的Value Tuple是一种轻量级的数据结构,用于在单个变量中存储多个值。它们在System.ValueTuple命名空间下,并且被设计为可变的(mutable),允许你在创建后修改元素的值。1.结构类型(Value Type):Value Tuples是值类型(struct),而不是引用类型(class)。2.可变性:Value Tuples的字段可以修改,而System.Tuple中的元素是只读的。4.解构:Value Tuples可以很容易地被解构到独立的变量中,这使得处理多返回值变得简单。原创 2024-04-30 15:17:42 · 484 阅读 · 0 评论 -
C# ??= 空合并赋值运算符的用法
在 .Net Framework 4.8.1 并不支持,所以必须新建 .Net8 的项目。是一个空合并赋值运算符,它是C# 8.0中引入的。这个运算符用于简化代码,当左侧的变量是。时,它会将右侧的值赋给左侧的变量,否则左侧的变量保持原有的值。原创 2024-04-30 14:57:59 · 235 阅读 · 0 评论 -
C# 使用丢弃符号_
【代码】C# 使用丢弃符号_原创 2024-04-30 14:35:56 · 210 阅读 · 0 评论 -
C# <= 运算符的用法
= 运算符是判断 左边的数量 是否小于或等于 右边的数量。原创 2024-04-30 14:20:53 · 270 阅读 · 1 评论 -
C# foreach 循环新写法
【代码】C# foreach 循环新写法。原创 2024-04-30 14:03:43 · 178 阅读 · 1 评论 -
C# AES对称加密算法
AES算法的keysize有一定限制。具体来说,AES算法支持的keysize为 128 bits、192 bits 和 256 bits,而且只能以16 bits(即2个字节)为步长递增。也就是说,支持的有效的 keysize 可以是:128、160、192、224 或 256。需要注意的是,AES算法的 keysize 越大,加密强度越高,但同时也会增加加密运算所需的时间和计算资源。因此,在实际应用中,需要根据实际需求和环境对 keysize 进行合理的选择。原创 2024-04-10 16:42:15 · 561 阅读 · 1 评论 -
Winform 界面添加快捷键
1.在添加快捷键之前需要将 KeyPreview 设置为 True ,否则快捷键会没有效果。这里可以选择几种按键检测的方式,如果是组合键 使用 KeyDown 即可。双击 KeyDown 文字就可以自动添加事件了。原创 2023-12-22 11:43:19 · 758 阅读 · 0 评论 -
C# 获取文件全路径、目录、扩展名、文件名称
C# 获取文件全路径、目录、扩展名、文件名称。原创 2023-12-20 15:13:42 · 775 阅读 · 1 评论 -
C# 获取项目的Debug目录路径
获取项目的Debug目录路径。原创 2023-12-20 15:10:22 · 1549 阅读 · 1 评论 -
C# 代码运行耗时
如果需要分段多次计时,那么就需要将计时器清空。暂停计时器,输出时间。原创 2023-12-20 15:07:04 · 462 阅读 · 1 评论 -
C# 弹框选择文件和选择文件夹
C# 弹框选择文件和选择文件夹。原创 2023-12-20 15:03:22 · 1601 阅读 · 1 评论 -
C# 压缩字符串
C# 压缩字符串。原创 2023-11-15 14:04:50 · 295 阅读 · 0 评论 -
C# foreach 遍历问题
可以看到,for 循环并没有因为数组的长度增加而报错,另外,由于添加的内容在 List 的最后一个元素,所以在后面也能正常被遍历处来,这主要是 for 循环的特殊性,下面就来看看是怎么回事。i++ 也不会影响,i++ 的执行条件,原自前面的 i < list.count 这句代码,所以,只要前面不满足条件,i++ 也不会执行。在后面的循环中,都会判断, i 是否 < list.count ,由于我们在执行过程中加了一个元素,所以这里也会 + 1。系统.无效操作异常:“集合已修改;可能无法执行枚举操作。原创 2023-10-31 10:39:54 · 421 阅读 · 1 评论 -
C# 遍历一个类的所有方法和参数
c# 遍历一个类的所有方法和参数。原创 2023-11-15 14:33:25 · 437 阅读 · 0 评论 -
C# While(true) 自动终止的异常
C# 使用 while(true) 理论上,会一直循环下去,最近发现我的程序,突然 while(true) 自动停止了,而且也没有报错,于是我自己找了一下原因,这里我模拟了一个错误,用来实现在 while(true) 中如果真实的报错,会发生什么。当前报错,是因为程序正在调试,如果直接运行生成的 exe 文件,那么就不会报错了。从上图可以看到,运行到 6 这里,while(true) 便停止了运行。所以,我们平时在 while(true) 一定要注意这个情况。原创 2023-11-23 11:13:23 · 1435 阅读 · 0 评论 -
C# 打开外部程序
这里就用控制台打开,如果是 winform 项目,根目录会不一样。这里传入一个程序的完整路径就好了。原创 2023-12-13 15:01:24 · 731 阅读 · 1 评论 -
C# 在控制台打印一个 List<类>
其实还可以进一步封装,让其可以打印 List ,也可以直接打印类。效果是一样的,这时候,可以传任意类型的 List。原创 2023-11-09 16:47:47 · 1548 阅读 · 1 评论