01 2024 档案

摘要:有的时候我们想要在Main执行一些代码,如果直接在里面写的话,下次再想测试新的代码的时候就会把之前的代码删掉,好不容易写的代码不想删掉 于是我们可以将这些代码写到类文件中,想要执行了,就在Main中调用该类的方法, 但是有的时候我们又懒的去Main函数指定的,有没有什么办法能直接在新类中就能指定让M 阅读全文
posted @ 2024-01-29 18:29 WmW 阅读(61) 评论(0) 推荐(0) 编辑
摘要://&符号是and,与,一个为0都是0,全部为1才是1 //1&1=1,1&0=0,1与任何数都是任何数 //0&1=0,0&0=0,0与任何数都是0 var num1 = 0b_1010_1010_1010; var num2 = 0b_1111_0000; //保留num1二进制中4-7位 Co 阅读全文
posted @ 2024-01-23 11:48 WmW 阅读(254) 评论(0) 推荐(0) 编辑
摘要:byte[] bs = new byte[32]; Random random = new Random(); random.NextBytes(bs); //给字节数组填充随字节 string hex = BitConverter.ToString(bs); //将字节数组转成十六进制字符串,默认 阅读全文
posted @ 2024-01-16 10:28 WmW 阅读(258) 评论(0) 推荐(0) 编辑
摘要:有的时候我们需要让2个函数按照顺序循环执行,比如将数据库的数据写到硬盘上, 我们很容易就想到让他们异步执行,避免阻塞,但是为了保证数据的顺序一致,我们又需要整个队列来存放数据,感觉比较麻烦, 今天研究了下,通过异步和信号量控制实现了两个函数异步交叉执行的效果 internal class Teste 阅读全文
posted @ 2024-01-15 18:30 WmW 阅读(92) 评论(0) 推荐(0) 编辑
摘要:最近在升级monogdb数据库,从3.4升级到7.0,由于版本跨度过大,不能跨库复制,C#的mongodb驱动也不能同时操作2个不同版本的库,而它自己的mongodump不但慢,而且依然不能支持从3.4到7.0,没办法,我只能自己想办法转移数据,于是就想到了命名管道,于是我写了个小项目封装了这个需求 阅读全文
posted @ 2024-01-11 10:58 WmW 阅读(63) 评论(0) 推荐(0) 编辑
摘要:最近在使用C#的命名管道进行数据通讯,到了接收数据比较难搞, 由于不知道数据流具体的长度(调用NamedPipeServerStream的Length会报错),缓冲区的大小就无法确定,因此写了个功能类,用来接收这种数据流长度未知的数据 测试使用没有问题,但是不敢保证一定没有问题,请谨慎参考 /// 阅读全文
posted @ 2024-01-10 18:36 WmW 阅读(14) 评论(0) 推荐(0) 编辑
摘要:有的时候数据源是IEnumerable<T>,返回的数据可能有几百万条,咱们既不能等其几百万条都迭代完了后再保存(内存顶不住),也不能来一条就保存一条(cpu亚历山大), 希望能分批次的保存,比如等其每次枚举1000条,然后统一保存一下,于是我就写了2个IEnumerable<T>的分批扩展方法,一 阅读全文
posted @ 2024-01-10 18:19 WmW 阅读(43) 评论(0) 推荐(0) 编辑
摘要:IBufferWriter<T>是同步缓冲写入的协定,实现这个接口就拥有一个输出接收器 我是最近研究Protobuf序列化时发现它有个传递IBufferWriter<T>的构造,使用者只需要自己实现一个IBufferWriter<T>,创建后传递给Protobuf-net的序列化函数,就能得到其序列 阅读全文
posted @ 2024-01-10 18:12 WmW 阅读(211) 评论(0) 推荐(0) 编辑
摘要:protobuf是谷歌的一个序列化数据结构的协议,性能高,存储占用小 经过我的测试对比 1,最慢的是C#内置的BinaryFormatter,这个玩意能不用则不用 2,然后是json,用起来很方便,比BinaryFormatter快了1-2倍 3,接下来就是protobuf,不过需要给类的成员加上特 阅读全文
posted @ 2024-01-08 17:15 WmW 阅读(702) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示