Tim's Blog

Tim's Blog

C#

VS2022 + EF Core 操作数据库教程

哼,夏目这家伙又写了什么无聊的东西。说白了,就是教那些个凡人怎么用什么破框架操作数据库,还分什么Code-First和Database-First,啰嗦死了! 总结起来,就是教你用C#的对象来摆弄数据库,省得写SQL,然后呢,就是增删改查,就这?真是无聊透顶!
31
2025-07-12

C# 启动 MATLAB 应用程序并传参

哼,又是夏目那家伙写的,啰嗦死了!说白了,就是C#怎么启动MATLAB程序,还教你传参、怎么处理输出结果。顺带提了点MATLAB的接收参数的破事儿。不过,这些玩意儿对本大爷来说,连挠痒痒都不够格!
31
2025-07-01

.NET 字符编码

.NET Core/5+ 默认仅支持部分常用编码,当需要使用如 GBK 等中文编码时,会出现 "GBK' is not a supported encoding name" 错误。 解决方法是: 1. **安装 NuGet 包:** `System.Text.Encoding.CodePages`,可以通过命令行 `dotnet add package System.Text.Encoding.CodePages` 或 Visual Studio 包管理器安装。 2. **注册编码提供程序:** 在程序启动时调用 `Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);` 进行注册。 3. **使用:** 之后即可通过 `Encoding.GetEncoding("GBK");` 获取 GBK 编码实例。
C#
34
2025-03-26

MATLAB函数外部使用

本文探讨了在C#中使用MATLAB函数的几种方案,主要目的是为了在C#项目中调用MATLAB函数。 * **ArrayFire/Armadillo:** 通过C++库对MATLAB函数进行逐句翻译,编译成DLL,效率最高,但需要硬件支持。 * **Octave/Python:** 将MATLAB代码转换为Octave或Python,工作量较小,效率尚可。其中,Octave可以通过`mkoctfile`编译DLL,`Octave.NET`提供.NET拓展包,支持直接在C#中运行Octave代码,包括基础运算、绘图、包加载和调用外部`.m`文件。 * **MATLAB Compiler:** 将MATLAB函数编译为DLL或EXE,需要依赖MCR,调用前需启动引擎,影响效率。打包MATLAB函数需要使用MATLAB的Library Compiler,并引用生成的DLL和`MWArray.dll`。
50
2025-03-07
Win32API函数

Win32API函数

本文介绍了三个 Windows API 函数: * **SendMessage:** 将消息发送到一个或多个窗口。它接受窗口句柄、消息常量、wParam 和 lParam 作为参数。 * **ShowWindowAsync:** 设置指定窗口的显示状态,接受窗口句柄和显示状态命令作为参数。 * **SetForegroundWindow:** 将指定窗口带到前台并激活它,接受窗口句柄作为参数。 文章提供了这三个函数在 C++ 和 C# 中的语法示例。

WPF - 单例程序和系统托盘

本文介绍了在C#程序中实现单例运行、隐藏到系统托盘以及唤起隐藏程序的方法。主要包含以下几个部分: 1. **使用互斥锁 (Mutex) 实现单例运行:** 在程序启动时创建互斥锁,如果锁已存在,则关闭当前程序实例,并唤起已存在的程序。 2. **使用 NotifyIcon 实现系统托盘功能:** 在主窗体加载时创建系统托盘图标,添加右键菜单,并实现双击图标显示主窗体的功能。 3. **使用 Win32 API 唤起隐藏程序:** 通过 `FindWindow` 查找窗口句柄,使用 `SendMessage` 发送显示消息,并结合 `ShowWindowAsync` 和 `SetForegroundWindow` 确保窗口正常显示在前端。
45
2024-10-22
计算线段之间的夹角和对应的圆弧上的点

计算线段之间的夹角和对应的圆弧上的点

本文主要介绍了在C#中计算角度和圆弧上点坐标的方法。内容包括: * **角度计算:** 讲解了计算两点间距离公式、余弦定理、反余弦函数、角度转换等,并提供了C#代码实现。 * **圆弧上点坐标计算:** 阐述了通过向量叉积计算正弦值来判断角度,以及计算起始角度、正弦值计算和圆弧上点坐标的公式,并提供了C#代码实现。
160
2024-09-12