lindexi

林德熙 - Windows 10 App Developer

林德熙

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 提供了一系列的方法用于方法参数传输的时候减少对结构体的复制从而可以高效使用内存同时提高性能

C# Span 入门

本文简单告诉大家如何使用 Span 新的功能 需要知道 Span 是 7.2 才有的功能,如果在正式项目使用,建议安装 Nuget 的方式

C# 程序内的类数量对程序启动的影响

最近我在项目写了几万行代码,小伙伴担心会让程序启动速度变慢,所以本渣就来做测试。 本渣使用了代码创建器,创建了 1000 个垃圾文件,这些文件都很简单。我将这些文件放在一个控制台项目里,没有做任何的引用,然后使用 dotTrace 测试控制台启动的时间。

C# 7.0 使用下划线忽略使用的变量

在 C# 7.0 支持使用下划线忽略不使用的变量

C# GUID ToString

最近在看到小伙伴直接使用 Guid.ToString ,我告诉他需要使用 Guid.ToString(“N”) ,为什么需要使用 N ,因为默认的是 D 会出现连字符。

C# AddRange 添加位置

有没人想知道, AddRange 添加位置 是哪? 是添加到数组的开始,还是数组的末尾?

3分钟教你搭建 gitea 在 Centos 服务器

本文告诉大家如何在一个 Centos 服务器上搭建 gitea 然后在 gitea 创建帐号上传代码

C# 使用外部别名

本文告诉大家如果遇到两个不同的库有相同的命名空间,相同的类如何使用这两个库。

C# 传入 params object 长度

刚刚 LiesAuer 大神问了一个问题,如果在 params object 传入 object 数组,那么拿到的值是的长度是多少 我做了测试在传入不同的值可能拿到不同的长度

C# winforms 输入颜色转换颜色名

本文告诉大家如何输入颜色,如0xFFFF8000转换为 Orange 在 winforms 程序

C# const 和 readonly 有什么区别

在写常量的时候,是选择使用 const 还是 static readonly 是一个让人难以决定的问题,本文告诉大家这两个方法的区别。

C# powshell 调用

本文告诉大家如何在 ps 脚本使用 C# 代码。

C# 配置文件存储 各种序列化算法性能比较

本文比较多个方式进行配置文件的存储,对比各个不同算法的读写性能。 在应用软件启动的时候,需要读取配置文件,但是启动的性能很重要,所以需要有一个很快的读取配置文件的方法。 如果你不想看过程,那么请看拖动滚动条

C# 快速释放内存的大数组

本文告诉大家如何使用 Marshal 做出可以快速释放内存的大数组。 最近在做 3D ,需要不断申请一段大内存数组,然后就释放他,但是 C# 对于大内存不是立刻释放,所以就存在一定的性能问题。 在博客园看到了一位大神使用 Marshal 做出快速申请的大数组,于是我就学他的方法来弄一个。本文告诉大家这个类是如何使用。