技术
📅 2026-05-20
🏷️ WPF
WPF内存排序优选方案
阅读全文 →
📅 2025-09-17
🏷️
void SortRecipeFolder<T>(IEnumerable<T> source, string sortName, ListSortDirection direction)
{
var collectionView = CollectionViewSource.GetDefaultView(source)
阅读全文 →
📅 2025-09-08
🏷️
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
using (var bitmap = new Bitmap(4, 2, PixelFormat.Format8bppIndexed))
{
//bitmap.Palette.Entries[0] = Color.R
阅读全文 →
📅 2024-05-23
🏷️
using (var target = new GDI.Bitmap(path))
{
var buffer = target.LockBits(
new GDI.Rectangle(0, 0, target.Width, target.Height),
阅读全文 →
📅 2024-01-03
🏷️
在项目中做一个批量读取bin目录下的所有DLL动态装在到Ioc容器的功能,读取方法使用的 Assembly.LoadFrom(path); 常规情况下使用是没有问题的,但是如果程序依赖的某一个库本身还需要依赖非dotnet生成的非托管DLL,如sqlite的依赖库,使用这个方法就会报错,此为背景。
要解决这个问题最开始想到的方案是直接try catch 包围 Assembly.LoadFrom 语
阅读全文 →
📅 2023-09-27
🏷️
遇到一个这样的面试问题,写一个方法可以针对数字类型进行冒泡排序。
直接手写代码开撸
```csharp
void NumberSort<T>(T[] items) {
var temp = default(T);
for (var i = 0; i < items.Length; i++) {
for (var j = 0; j < items.Length &
阅读全文 →
📅 2023-09-20
🏷️
一、数据类型:string list hash set zset
string 类似于 menerycache
list 链表 前后速度快,中间部分需要轮询速度慢,可 lpop rpop 缓存队列
hash 缓存对象 按对象属性分开读取
set 去重
zset 去重带排序
二、KEY过期策略
1、带TTL的KEY单独字典
2、每秒10次扫描该字典,随机选取**配置数量**个KEY删除
3、如果
阅读全文 →
📅 2023-09-20
🏷️
一、Monitor 以及 语法糖 lock
1、需要锁定引用类型,引用类型数据结构存在特殊的标记位,值类型每次都会被装箱成新对象
2、lock 反编译后是try finally 里面包围的 Monitor.Enter 和 Monitor.Release
二、重置事件
1、分为AutoResetEvent和ManualResetEvent
2、ManualResetEvent需要手动执行Res
阅读全文 →
📅 2023-07-10
🏷️
这是第一篇日志记录,仅做测试
阅读全文 →