在 C# 中,参数传递的方式决定了方法内部对参数的修改是否会影响外部调用。对于 string 类型的参数,C# 使用的是按值传递(pass by value),这意味着在方法内部对 string 参数的重新赋值不会影响外部调用中的原始字符串。 详细解释: 1.按值传递(Pass by Value): ...
话不多说,我们直接上源码开干。 1.第一种方式: 使用字典Dictionary.xaml 搭建系统框架,使用MVVM 页面布局方式如下: <Window x:Class="WPFDemoMVVM.View.LanguageChangeView" xmlns="http://schemas.micro ...
最近在调试Http POST协议的接口时,对 TestHttpPost 进行了改进,增加了增加输出文件、设置请求头的功能。故发布了发布v1.2版。 ...
一:背景 1. 讲故事 在所有与 .NET相关的JetBrains产品中,我觉得 DotTrace 是最值得深入学习和研究的一款,个人觉得它的优点如下: 跨平台诊断 (Windows,Linux,MacOS) 兼容 dotnet-trace 产出的 nettrace。 优秀的可视化界面,尤其是 ti ...
一:背景 1. 讲故事 前段时间有位朋友微信上找到我,说他们docker中的采集程序出现了CPU爆高的情况,让我帮忙看下怎么回事,自己抓了个dump,感觉这位朋友动手能力还是比较强的,可能调试这块知识不熟悉,不知道如何分析,既然找到我,那就给他分析下吧。 二:CPU爆高分析 1. 为什么会爆高 在动 ...
一、前言 上一节我们实现了多个不同颜色的可拖动的矩形,那么这一节就来看一下如何将这些矩形连起来吧。 相信看完的你,一定会有所收获! 本文地址:https://www.cnblogs.com/lesliexin/p/18923105 二、先看效果 同样的,我们先来看一下本节所实现的效果,先有一个整体的 ...
一:背景 1. 讲故事 前些天有位朋友在微信上找到我,说他的系统有偶发崩溃,自己也没找到原因,让我帮忙看下怎么回事,我分析dump一直都是免费的,毕竟对这些东西挺感兴趣,有问题可以直接call我,好了,接下来我们就来分析dump吧。 二:程序为什么会崩 1. 观察崩溃上下文 windbg有一个厉害之 ...
一:背景 1. 讲故事 调试训练营里的一位学员前些天找到我,说他们跑在k8s中的程序崩掉了不知道怎么回事?日志也没有记录到,让我帮他看看,dump也抓到了,既然抓到了那就看看吧。 二:程序为什么会崩溃 1. 崩溃原因 linux 上的崩溃分析没有windows上那么方便,但还是可以分析的,先通过 ! ...
一、前言 超长路径(MAX_PATH)的问题,在很多地方都可能遇到,常见的解决办法无非三种:添加前缀\\?\、app.config添加配置、修改注册表等。 而对于其它第三方的DLL,我们如何去从外部解决呢?答案是:反射。 本篇文章,我们就以DotNetZip为例,一步步来解决超长路径的问题。 **相 ...
1.ERP(企业资源计划) 英文全称:Enterprise Resource Planning 定义:由美国Gartner Group公司于1990年提出,是以管理会计为核心可以提供跨地区跨部门、甚至于跨公司整合实施信息的企业管理软件。企业资源计划是指建立在信息技术基础上,以系统化的管理思想,为企业 ...
目录C#实现欧姆龙 HostLink 通讯协议库背景介绍欧姆龙 PLC 内存区域介绍欧姆龙 PLC 数据类型对应欧姆龙 PLC 与 PC 的 RS232 接线线序HostLink通讯报文分析C-Mode通讯报文分析FINS-Mode通讯报文分析HostLink通讯协议库的C#实现核心实现(FCS校验 ...
Blazor Hybrid 插件使采用了 WinFormedge 的应用程序能够无缝集成 Blazor 组件。通过这个插件,开发者可以利用 Blazor 的现代 Web UI 框架与传统的 WinForms 相结合,使用 C#、HTML 和 CSS 构建交互式、基于组件的用户界面。这种混合方法将 W... ...
一、前言 就像开发的教程都从“Hello World!”开篇一样,系列开始,我们也从一个最最简单的功能开始:画一个能拖动的矩形。 顺便说一下,另一篇教程:(原创)[C#] GDI+ 之鼠标交互:原理、示例、一步步深入、性能优化 讲的更详细和深入,可以作为补充。 就让我们从一个能拖动的矩形开始我们的流 ...
一:背景 1. 讲故事 上一篇我们说到了 minhook 的一个简单使用,这一篇给大家分享一个 minhook 在 dump 分析中的实战,先看下面的线程栈。 0:044> ~~[138c]s win32u!NtUserMessageCall+0x14: 00007ffc`5c891184 c3 r ...
一、有什么用? 问:现在这个年代哪些场景还需要GDI+? 答:很少,主要是在上位机,复杂一点的自定义控件几乎全由GDI+绘制而成。而且很多工业设备的电脑性能差,WPF等带不起来,只能是Winform。 问:本系列文章的对于GDI+掌握有什么帮助? 答:这是一个完整的完全由GDI+实现的复杂程序,对于 ...
我让DeepSeek帮我写了一段使用 CancellationTokenSource 取消任务的简单示例如下: 取消任务的简单示例 using System.Threading.Tasks; using System.Threading; public async Task Test() { var ...
最近碰到一个Html转PDF的需求,看了一下基本上都是需要依赖Wkhtmltopdf,需要在Windows或者linux安装这个可以后使用。找了一下选择了HtmlToPDFCore,这个库是对Wkhtmltopdf.NetCore简单二次封装,这个库的好处就是通过NuGet安装HtmlToPDFCo ...
前言 自从.NET Framework 3.5提供了LINQ之后,集合数据查询基本被LINQ统一了。这大幅提高了编写数据查询代码的效率和质量,但是在需要编写动态查询的时候反而很困难,特别是最常用的where和order by子句,他们的参数是Expression。编写静态查询的时候编译器会自动把代码 ...
中间件引起的接口请求参数被拦截,导致参数一直是null,这问题困扰了我很久,值得记录 1.场景 1.1 客户端使用framework4.8做一个接口请求发送: public static class ApiHelper { private static string Internal_ApiUrl ...
关于多线程本质的思考和使用技巧 前言 近来,公司因为项目过多,人手不足,一直在进行面试。过程中同事总是问道:多线程是什么,谈谈你对多线程的理解?以我愚见,这并不是一个可以在面试中快速回答的问题,如果面试的时候向我提问,我觉得我无法有条理的回答这个问题。因此,以总结多线程开发为目标,我写下这篇笔记 ...