原码,反码,补码
摘要:负数为什么要用补码来表示? 今天,发生一件非常有趣的事情。 公司同事问了我一个问题:为什么 2.0 - 1.1 = 0.89999999 呢?不应该是 0.9吗? 原来是,他问了周围一圈的同事,都给他的是同一个回答,说这是精度问题。他百思不得其解,怎么就会产生精度问题呢。再问,就没人知道原因了。 然
阅读全文
performance lazy-initialization
摘要:C# Lazy Loading 前言 按需加载对象延迟加载实际是推迟进行创建对象,直到对其调用后才进行创建初始化,延迟(懒加载)的好处是提高系统性能,避免不必要的计算以及不必要的资源浪费。 常规有这些情况: 对象创建成本高且程序可能不会使用它。 例如,假定内存中有具有 Orders 属性的 Cust
阅读全文
Blazor项目文件分析
摘要:Blazor项目文件分析 .NET Core Blazor 1-Blazor项目文件分析 本节内容为Blazor的基本文件 简介 Blazor是一个使用.NET技术用于代替JavaScript/typescript的前端WEB框架。在前端开发中使用.NET语言进行书写逻辑有利于我们的性能、可靠性和安
阅读全文
使用 Topshelf 组件和Quartz.net 库调度创建 Windows 服务
摘要:使用 Topshelf 组件和Quartz.net 库调度创建 Windows 服务 使用Topshelf组件 一步一步创建 Windows 服务 我们先来介绍一下使用它的好处,以下论述参考自其他大神。 topshelf是创建windows服务的一种方式,相比原生实现ServiceBase、Inst
阅读全文
NServiceBus是.Net平台下的开源的消息服务框架
摘要:NServiceBus是.Net平台下的开源的消息服务框架,已经支持.Net Core。目前稳定版本7.1。企业开发需要购买License,开发者可在线下载开发者License。官方网站:https://particular.net/官方示例:https://docs.particular.net/
阅读全文
[1]System.Reflection.Emit
摘要:.NET高级特性-Emit(1) 在这个大数据/云计算/人工智能研发普及的时代,Python的崛起以及Javascript的前后端的侵略,程序员与企业似乎越来越青睐动态语言所带来的便捷性与高效性,即使静态语言在性能,错误检查等方面的优于静态语言。对于.NETer来说,.NET做为一门静态语言,我们不
阅读全文
json data转匿名对象C#
摘要:using Newtonsoft.Json.Linq; 代码如下: 解决创建接收json data的具体对象,缺点不是强类型,无法保证手误导致失败,保证方法是写单元测试。 对于高版本的net framewrok 有动态 类型dynamic可直接使用更方便,低版本的只能其他方法。
阅读全文
序列化、反序列化,干啥用?
摘要:1 .net序列化及反序列化 序列化是指一个对象的实例可以被保存,保存成一个二进制串,当然,一旦被保存成二进制串,那么也可以保存成文本串了。比如,一个计数器,数值为2,我们可以用字符串“2”表示。如果有个对象,叫做connter,当前值为2,那么可以序列化成“2”,反向的,也可以从“2”得到值为2的
阅读全文
Net异步编程
摘要:Net异步编程 目录 前言 异步编程不同模式 一、异步模式 二、基于事件的异步模式 三、基于任务的异步模式 异步编程的基础 一、创建任务 二、调用异步方法 三、使用Awaiter 四、延续任务 五、多个异步方法的使用 六、使用ValueTasks 七、转换异步模式 异步编程的错误处理 一、异步方法的
阅读全文
生成漂亮桌面背景
摘要:.NET生成漂亮桌面背景 .NET生成漂亮桌面背景 一天,我朋友指着某某付费软件对我说,这个东西不错,每天生成一张桌面背景,还能学英语(放置名人名言和翻译)!我说,这东西搞不好我也能做,然后朋友说,“如果你搞出来了,我愿意给你付费$$$$元”,然后就有了今天的故事😎。 该桌面背景效果如下: 该桌面
阅读全文
C#易失域、锁的分享,多线程
摘要:C#多线程、易失域、锁的分享 一、多线程 windows系统是一个多线程的操作系统。一个程序至少有一个进程,一个进程至少有一个线程。进程是线程的容器,一个C#客户端程序开始于一个单独的线程,CLR(公共语言运行库)为该进程创建了一个线程,该线程称为主线程。例如当我们创建一个C#控制台程序,程序的入口
阅读全文
管理员权限运行-C#程序
摘要:C#程序以管理员权限运行 在Vista 和 Windows 7 及更新版本的操作系统,增加了 UAC(用户账户控制) 的安全机制,如果 UAC 被打开,用户即使以管理员权限登录,其应用程序默认情况下也无法对系统目录、系统注册表等可能影响系统正常运行的设置进行写操作。这个机制大大增强了系统的安全性,但
阅读全文
C#各版本
摘要:C#各版本 本系列文章主要整理并介绍 C# 各版本的新增功能。 C# 8.0 C#8.0 于 2019年4月 随 .NET Framework 4.8 与 Visual Studio 2019 一同发布,但是当前处于预览状态。预计在2019年9月正式发布。 目前提供以下功能可供试用: Readonl
阅读全文
C#中标准的IDispose模式
摘要:C#实现IDispose接口 .net的GC机制有两个问题:首先GC并不能释放所有资源,它更不能释放非托管资源。其次,GC也不是实时的,所有GC存在不确定性。为了解决这个问题donet提供了析构函数 public class TestClass : System.IDisposable { //供程
阅读全文
如何立即回收内存C#
摘要:C#如何立即回收内存 1.把对象赋值为null 2.立即调用GC.Collect(); 注意:这个也只是强制垃圾回收器去回收,但具体什么时候执行不确定。 代码: [System.Runtime.InteropServices.DllImportAttribute("kernel32.dll", En
阅读全文
C# 与 .NET Framework 对应关系
摘要:C#各版本新增加功能(系列文章) 本系列文章主要整理并介绍 C# 各版本的新增功能。 C# 8.0 C#8.0 于 2019年4月 随 .NET Framework 4.8 与 Visual Studio 2019 一同发布,但是当前处于预览状态。预计在2019年9月正式发布。 目前提供以下功能可供
阅读全文
C# 基于Directshow.Net lib库 USB摄像头使用DirectShow.NET获取摄像头视频流
摘要:https://blog.csdn.net/u010118312/article/details/91766787 https://download.csdn.net/download/u010118312/11238555 https://github.com/wanglong/DirectSho
阅读全文
c# 无法加载DLL:找不到指定的模块(异常来自HRESULT:0X8007007E)
摘要:c# 无法加载DLL“xxxx”:找不到指定的模块(异常来自HRESULT:0X8007007E)的一个解决方法 以前的一个c#项目,今天运行的时候突然发现调用DLL时出现了下面的错误。 心中很诧异,明明以前能用的,今天怎么报错了。代码没有修改,也不存在DLL路径错误的问题。 后来看到有网友说用 d
阅读全文
管道式编程(Pipeline Style programming)
摘要:受 F# 中的管道运算符和 C# 中的 LINQ 语法,管道式编程为 C# 提供了更加灵活性的功能性编程。通过使用 扩展函数 可以将多个功能连接起来构建成一个管道。 前言 在 C# 编程中,管道式编程(Pipeline Style programming)其实存在已久,最明显的就是我们经常使用的 L
阅读全文
外挂
摘要:外挂 前言 记得小学的时候玩页游把家里电脑弄坏了(怎么回事,页游还能弄坏电脑?),然后我爸拿去重新装了系统,回来之后电脑里有了两个新的单机游戏,植物大战僵尸和大鱼吃小鱼。 那个年代周围的小学生都是赛尔号/奥比岛/洛克王国/天书奇谭/龙之刃/梦幻西游,玩摩尔庄园的小学生说出来都不是九年义务教育的。植物
阅读全文