自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 C# 中IEnumerable与IQuerable的区别

主要区别在于支持将LINQ查询转换为针对数据源优化的查询(如SQL查询),而则在内存中直接操作集合。这种差异导致了在的扩展方法中使用而不是,因为表达式树可以被查询提供者转换为特定于数据源的查询语言。

2024-07-13 09:33:34 1353

原创 WPF 框架 Prism IActiveAware接口使用

在Prism框架中,IActiveAware接口是一个重要的接口,它允许开发者实现组件或视图的激活和失活逻辑。接口是Prism中一个非常有用的特性,它允许开发者以声明性的方式响应视图的激活状态变化。通过实现这个接口,你可以轻松地控制何时加载数据、何时更新UI等,从而提升应用的性能和用户体验。不过,在某些Prism模板或扩展中,如Prism的TabControl扩展,可能已经内置了对。事件,并在事件处理程序中执行必要的逻辑,比如加载数据、更新UI状态等。在你的XAML中,你可以将ViewModel的。

2024-07-10 15:07:58 615

原创 WPF Prism框架 Composite Commands 复合命令

将Prism中提供的CompositeCommand对象进行包装,包装为ICompositeCommands接口和ApplicationCommands实现类。这样当触发复合命令 ApplicationCommands.SaveCommand时,所有注册的命令都会触发。复合命令可以触发多个与之注册的命令,可以实现一次执行多个命令。在ViewModel中定义复合命令,并将该命令绑定到View层。4、将其他多个地方的Command注册该复合命令。3、ViewModel中定义复合命令。2、IOC中注册复合命令。

2024-07-10 14:18:14 609

原创 WPF引入多个控件库使用

通过引入一个资源文件去继承来自另一个控件库的一些样式,并且声明在全局样式中,这样就可以在所有的界面进行使用,并且可以引入其他控件的一些样式属性。

2024-07-09 08:51:54 824

原创 WPF设置全局样式

2.在Style文件夹内创建一个ButtonStyle.xaml的资源字典。5.之后就可以直接使用Style,不需要在显示引入Style了。3.在App.xaml中引入资源字典。1.创建Style文件夹。4.在界面中使用样式。

2024-07-08 18:22:22 499

原创 C# 中托管代码与非托管代码的区别

在C#(以及更广泛的.NET环境中),托管(Managed)与非托管(Unmanaged)是两个重要的概念,它们主要涉及到内存管理和资源分配的方式。

2024-07-04 09:18:43 433

原创 C# 扩展方法

在C#中,扩展方法(Extension Methods)是一种特殊的静态方法,它们允许你向现有类型“添加”新的方法,而无需修改原始类型。扩展方法实际上是静态方法,但它们使用this关键字作为第一个参数,从而允许它们像实例方法一样被调用。扩展方法必须包含关键字this作为它的第一个参数类型,并在后面跟着它扩展的类的名称。关键字作为方法的第一个参数,表示该方法可以作用于任何类型的实例对象。几乎整个LINQ库都是通过扩展方法来实现的。声明扩展方法的类型必须声明为Static。扩展方法定义:扩展方法使用。

2024-06-26 09:55:29 197

原创 C# Task.Delay(1000) 与 Thread.Sleep(1000)的区别

在 C# 中都用于引入延迟,但它们之间存在显著的差异,主要体现在它们的行为和用途上。在行为和用途上有显著的区别。在编写现代、高效且响应性强的应用程序时,通常建议使用。

2024-05-27 18:06:09 413

原创 C# 实现UDP通讯方式 客户及服务端

UDP是无连接的,这意味着在发送数据之前不需要建立和维护连接。只需要知道目标UDP客户端的IP地址和端口号,就可以使用SendTo方法(或类似的方法)发送消息。在C#中,可以使用UdpClient类来实现在同一个主机上监听和发送多个UDP数据包。以下是一个简单的例子,演示了如何创建一个UDP服务器,它能够通过不同的端口接收多个客户端的UDP数据包。UdpClient是 .NET Framework 和 .NET Core 中用于发送和接收 UDP 数据包的类。以下是如何使用UdpClient。

2024-05-25 14:36:07 1132

原创 C#实现根据局域网内hostname获取ip

在C#中,获取局域网内对应hostname主机的IP地址可以通过几种方式实现,最常用的方法是使用System.Net命名空间中的Dns类来查询DNS服务器。

2024-05-24 17:15:20 553

原创 C# 数字格式字符串

"0"或"#":零或井号用作占位符,表示如果存在值则显示,否则不显示。".":小数点,用于分隔整数部分和小数部分。“,”:千位分隔符。"%":百分比。"‰":千分比。"E0"或"e0":科学计数法表示(精度指定为后续参数)。

2024-05-23 11:59:41 582

原创 C# 中nameof的使用

是一个上下文关键字,它用于获取变量、类型或成员的名称(作为字符串)。这对于反射、日志记录、异常消息和其他需要引用变量或类型名称的字符串表示形式的场景特别有用。的主要优点是它是类型安全的,并且可以在编译时检查其参数。此外,由于它是编译时常量,因此在使用时不会引入任何运行时开销。在上面的例子中返回了"T",但如果你想知道泛型类型。等),你需要使用反射来获取这些信息。

2024-05-18 11:26:16 395

原创 C# 实现开启TFTP服务

C# 实现TFTP客户端与服务端

2024-05-17 16:26:16 721

原创 C# 更新修改 .config配置文件中的appsettings键值对

【代码】C# 更新修改 .config配置文件中的appsettings键值对。

2024-05-16 08:52:26 366

原创 C#实现ping一个网段

4循环遍历需要ping的IP地址,调用Ping实例的Send方法进行ping操作。1首先引入System.Net.NetworkInformation命名空间。使用C#中的Ping类来实现ping一个网段。5根据PingReply的Status属性判断ping的结果。3设置Ping选项,如超时时间等。6将结果输出或保存到文件中。2创建一个Ping实例。

2024-05-09 11:57:33 159

原创 CancellationTokenSource 取消令牌

工作线程在关键的代码行中插入监控代码,判断任务是否被取消,这类似于软件工程中的“埋点”,5、任务内通过判断是否收到取消请求,决定是否调用ThrowIfCancellationRequested()方法抛出异常取消任务。并且在取消任务时候通过CancellationToken.Register处理收尾工作。3、创建任务,通过构造函数传递令牌给任务实例,并通过委托传递令牌给任务内的执行方法(4、当前线程通过取消令牌源调用Cancel()方法。2、声明令牌,并关联取消令牌源;1、声明并new创建令牌源;

2024-05-09 11:49:21 575

原创 开启TFTP服务端 添加TFTP 69端口防火墙入站规则

`name=TFTP`: 规则的名称是 "TFTP"(这通常指的是Trivial File Transfer Protocol,但TFTP通常使用UDP端口69,所以名称是合适的)。所以,当你运行这条命令后,Windows防火墙会新增一条规则,允许从任何源地址到本地端口69的UDP入站数据包通过。* `localport=69`: 仅当目标端口(即本地端口)是69时,此规则才适用。* `dir=in`: 指定规则的方向是入站(inbound)。* `protocol=UDP`: 规则应用于UDP协议。

2024-05-08 17:49:16 387

原创 C# WebAPI的几种返回类型方式

在 ASP.NET Core 中有三种返回数据和HTTP状态码除了这种,也可以返回 IActionResult 实例 和实例。虽然返回指定的类型 是最简单粗暴的,但它只能返回数据,附带不了http状态码,而 IActionResult 实例可以将一同带给前端,最后就是它封装了前面两者,可以实现两种模式的自由切换。接下来一起讨论下如何在中使用这三种方式。

2024-05-08 14:41:15 1264

原创 C# 实现HTTP自承载WebApi服务

HTTP 自承载服务(HTTP Self-Hosted Service)是一种不依赖于外部 Web 服务器(如 IIS、Apache、Nginx 等)的 HTTP 服务,它直接在自己的进程中监听 HTTP 请求并处理它们。:对于需要通过网络提供 API 的小型应用或微服务,自承载 HTTP 服务器是一个轻量级的解决方案,它不需要额外的 Web 服务器软件。:在开发过程中,开发人员可以使用自承载 HTTP 服务器快速搭建 API 原型或测试环境,而无需配置复杂的 Web 服务器。在 .NET 框架中,

2024-05-04 17:26:47 955

原创 HTTP请求从接口处下载APK文件完成软件更新

在C#中设计一个API接口来从服务器上下载一个安卓安装包(通常是APK文件),你需要确保你的API能够处理文件传输,并且客户端(可能是移动应用、Web应用或其他服务)能够发送请求并接收文件。

2024-05-03 17:36:10 448

原创 HTTP put方法与post方法的区别

PUT请求是幂等的,即多次执行相同的PUT请求效果相同。POST:主要用于向指定资源提交要被处理的数据,以创建或更新资源。POST请求不具有幂等性,即多次执行相同的POST请求可能会有不同的结果。PUT请求通常用于更新或替换整个资源,而POST请求则更常用于创建新资源或提交表单数据。PUT请求也可以用于传输敏感信息,但由于其幂等性,如果请求被意外地多次发送,那么结果仍然是一致的。PUT请求的URL通常包含要更新的资源的标识符(如ID),但请求体包含要替换的资源的新内容。POST:不是幂等的。

2024-05-03 14:50:08 260

原创 利用CAN盒通讯时出现内存分配不足的问题解决

【代码】利用CAN盒通讯时出现内存分配不足的问题解决。

2024-04-30 14:40:44 286

空空如也

空空如也

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

TA关注的人

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