lindexi

林德熙 - Windows 10 App Developer

林德熙

C# 通过 probing 指定 dll 寻找文件夹

在很大的项目开发,会发现项目引用的 dll 会很多,我想要按照不同的功能,将不同的 dll 放在不同的文件夹

C# 转换类型和字符串

有时候我们需要互转类型和字符串,把字符串转类型、把类型转字符串。

C# 获取进程退出代码

我需要写一个程序,让这个程序知道另一个程序是否正常退出,于是就需要获取这个进程的退出代码

C# 获取 PC 序列号

在 C++ 需要使用 GetSystemFirmwareTable 的方法来获得 PC 的序列号,需要写的代码很多,但是在 C# 可以使用 WMI 来拿到序列号

C# 自动翻页 PPT 测试脚本

本文告诉大家一个可以使用的 C# 脚本,可以用来自动打开 PPT 文件,然后不断执行翻页。每次翻页都截图。翻页之后自动关闭 PPT 再次打开

C# 简单读取文件

本文告诉大家如何使用最少的代码把一个文件读取二进制,读取为字符串

C# 条件编译

有一部分代码只是用来调试使用,不期望在发布的时候执行。也有一些代码只是用来测试性能,也不期望在其他时候使用。在做源代码包的时候,我需要对不同的平台使用不同的代码。此时就可以用到条件编译符,在不同的条件下编译不同的代码

C# 控制台使用 UAC 权限

本文告诉大家如何在 C# 控制台项目使用 UAC 权限。这个方法在 WPF 和 控制台都是可以使用。

C# 循环的判断会进来几次

最近有小伙伴告诉我,在循环的判断条件只会计算一次,本金鱼不相信,于是就做了测试,本文记录我做的测试。

C# 已知点和向量,求距离的点

已知一个点 P 和向量 v ,求在这个点P按照向量 v 运行距离 d 的点 B 。

C# 将 Begin 和 End 异步方法转 task 异步

在 .NET Framework 有两个不同的异步方法,一个是 Asynchronous Programming Model (APM) 另一个是 Task-based asynchronous pattern (TAP) 说 APM 和 TAP 估计大家都不认识。其实 APM 就是有成对的 Begin 和 End 方法的异步,而 TAP 就是使用 async 和 await 的异步

C# 对 byte 数组进行模式搜索

本文告诉大家几个方法从 byte 数组找到对应的相同序列的数组

C# 如何给 ValueTuple 返回值添加注释

在 C# 7.0 可以在一个方法的返回,返回多个参数,通过 ValueTuple 的方法,但是和单个参数返回不同的是,如何对多个参数返回每个参数进行单独的注释?

C# 如何引用 WshShell 类

如果想要创建快捷方式等,很多使用都需要引用 WshShell 类,这个类需要通过 COM 的方法引用

C# 如何写出一个不能被其他程序集继承的抽象类

我需要限定某个抽象类只能在我程序集类实现,而不支持其他程序集实现,也就是我需要一个不能被继承的抽象类

C# 大端小端转换

关于大端和小端,是一个有趣的问题。本文告诉大家如何在C#转换大端和小端。

C# 匹配可空变量

在 C# 7.0 的时候提供更好用的模式匹配方法,支持通过 is 直接转换对应的类,但是如果是尝试转换可空的对象,那么将会提示无法编译,或转换失败

C# 使用汇编

本文告诉大家如何在 C# 里面使用汇编代码

AutoHotKey 用打码的快捷键

本文告诉大家如何使用 AutoHotKey 将 - 键默认输入的时候是下划线,因为使用下划线在写代码的时候是用在私有字段,而 - 很少使用

ASP.NET Core 开启后台任务

本文告诉大家如何通过 Microsoft.Extensions.Hosting.BackgroundService 开启后台任务

C# 如何在项目引用x86 x64的非托管代码

因为现在的项目使用的是 AnyCpu 在 x86 的设备使用的是x86,在x64使用的是x64,但是对于非托管代码,必须要在x64使用x64的dll,在x86使用x86的dll。在C++没有和C#一样的 AnyCpu 所以需要在项目运行在x86的时候加载x86的dll。 本文告诉大家如何在代码引用不同的dll。

C# 从零开始写 SharpDx 应用 笔刷

本文告诉大家如何在 SharpDx 里面使用笔刷,包括纯色笔刷、渐变笔刷和图片笔刷

BAT 脚本判断当前系统是 x86 还是 x64 系统

本文告诉大家在写 BAT 脚本的时候,如何判断当前的系统是 32 位系统的还是 64 位系统

C# 在基类定义好方法让子类继承接口就能实现

在 C# 里面,接口的定义只需要类里面存在和接口声明相同的方法或属性就可以,而存在的方法或属性是在子类定义的还是基类里面定义的都无所谓。也就是在基类里面写好了方法,但不继承接口,等子类继承接口的时候就不需要子类实现方法。通过这样的方法可以在基类里面添加一些辅助方法,而这些方法默认不给子类开启,除非子类继承了接口

C# 标准性能测试

经常我写一个类,作为一个工具类,小伙伴会问我这个类的性能,这时我就需要一个标准的工具进行测试。 本文告诉大家如何使用 benchmarkdotnet 做测试。

C# 在 构造函数添加 CallerMemberName 会怎样

在 C# 中有一个特性 CallerMemberName 可以给方法知道调用这个方法的方法名,在 UWP 中用这个特性很多,特别是在使用 MVVM 绑定

C# 命令行如何静默调用 del 删除文件

如果在 C# 命令行调用 del 删除文件,很多时候会提示是否需要删除,本文告诉大家如何调用命令行的时候静默删除

C# 从 short 转 byte 方法

本文告诉大家多个方法转换 short 和 byte 有简单的也有快的

C# 使用反射获取私有属性的方法

本文告诉大家多个不同的方法使用反射获得私有属性,最后通过测试性能发现所有的方法的性能都差不多

C# json 转 xml 字符串

本文告诉大家如何将 json 转 xml 或将 xml 转 json 字符串

C# double 好用的扩展

在很多代码需要使用数学计算,在用到 double 很难直接判断一个值是 0 或者 1 ,判断两个值相等。 本文提供一个数学扩展,让大家可以简单使用到 double 判断

C# 16 进制字符串转 int

最近在写硬件,发现有一些测试是做 16 进制的字符串,需要把他转换为整形才可以处理 本文告诉大家如何从 16 进制转整形

C# Task.Run 和 Task.Factory.StartNew 区别

有小伙伴问我,为什么不推荐他使用 Task.Factory.StartNew ,因为 Task.Run 是比较新的方法。 本文告诉大家 Task.Run 和 Task.Factory.StartNew 区别

C# 使用转换语义版本号

本文告诉大家如何转换语义版本号,那么什么是语义版本号,语义版本号(semantic version)就是版本号带 alpha 等的版本号

C# 7.2 通过 in 和 readonly struct 减少方法值复制提高性能

在 C# 7.2 提供了一系列的方法用于方法参数传输的时候减少对结构体的复制从而可以高效使用内存同时提高性能