随笔分类 -  Programming

摘要:温故知新,CSharp遇见AsyncLocal,在ASP.Net Core 6.0和2.1中HttpContextAccessor前后设计变化HttpContextAccessor In ASP.Net Core 2.1 https://github.com/dotnet/aspnetcore/blob/v2.1.33/src/Http/Http/src/HttpContextAccessor.cs public class HttpCo 阅读全文
posted @ 2023-03-05 00:19 TaylorShi 阅读(115) 评论(0) 推荐(0) 编辑
摘要:温故知新,CSharp遇见IntPtr,通过System.IntPtr来操作句柄(Handle)和指针句柄(Handle)缘来 .NET提供了一个结构体System.IntPtr专门用来代表句柄或指针。 句柄是对象的标识符,当调用这些API创建对象时,它们并不直接返回指向对象的指针,而是会返回一个32位或64位的整数值,这个在进程或系统范围内唯一的整数值就是句柄(Handle),随后程序再次访问对象 阅读全文
posted @ 2023-03-01 19:43 TaylorShi 阅读(1524) 评论(0) 推荐(0) 编辑
摘要:温故知新,CSharp遇见调用方信息(CallerInfo),通过Attribute、StackTrace获取调用方的信息前言 有时候,想以最少成本的改造去记录下当前方法调用来自哪个方法,以便获取一些诊断线索。 基于Attribute获取调用方的信息 internal class MyClass { public void Test() { Log(); } public void Log ( [CallerFileP 阅读全文
posted @ 2022-12-09 15:36 TaylorShi 阅读(95) 评论(0) 推荐(0) 编辑
摘要:温故知新,遇见宇宙最强Visual Studio,开发常用快捷键,帮助你提高速度前言 今天遇到同事写了很长的代码,准备从某个位置开始替换,需要找个能从当前光标开始往后选中的办法,看到了这些快捷键,收藏下。 删除操作 删除并粘贴到剪切板 Shift + Delete 感觉和Ctrl + X是一样的效果。 删除当前行 Ctrl + Shift + L 删除光标后的单词 Ctrl + 阅读全文
posted @ 2022-12-01 15:13 TaylorShi 阅读(307) 评论(0) 推荐(0) 编辑
摘要:温故知新,CSharp遇见异步编程(Async/Await),通过ILSpy反编译代码,透过现象看本质什么是Async/Await C#中的Async和Await关键字是异步编程的核心。通过这两个关键字,可以使用.NET Framework、.NET Core或Windows运行时中的资源,轻松创建异步方法(几乎与创建同步方法一样轻松)。使用async关键字定义的异步方法简称为“异步方法”。 pub 阅读全文
posted @ 2022-10-30 21:52 TaylorShi 阅读(424) 评论(0) 推荐(0) 编辑
摘要:温故知新,CSharp遇见事件和委托(Event/Delegate),通过ILSpy反编译代码,透过现象看本质事件和委托的区别到底是什么 委托提供了一种机制,可实现涉及组件间最小耦合度的软件设计,它是一种引用类型。 和委托类似,事件是后期绑定机制。事件是建立在对委托的语言支持之上的,它是对委托的封装,可以理解为一种特殊的委托(本质不是)。 事件是对象用于广播已发生事情的一种方式。任何其他组件都可以订阅事件, 阅读全文
posted @ 2022-10-30 18:15 TaylorShi 阅读(417) 评论(0) 推荐(0) 编辑
摘要:温故知新,CSharp遇见C#两大类型:值类型(内置、特殊)、引用类型(内置、声明)C#类型中存在两个类别,一个是值类型,一个是引用类型。 值类型 值类型的变量包含类型的实例,默认情况下,在分配中,通过将实参传递给方法并返回方法结果来复制变量值。 值类型包括简单类型(字符型、浮点型、整型等)、枚举类型、结构型。 内置值类型 整型数值类型(int...long) 整型数值类型表示整数 阅读全文
posted @ 2022-09-04 16:01 TaylorShi 阅读(829) 评论(0) 推荐(0) 编辑
摘要:温故知新,遇见面向对象编程(OOP),如何基于接口而非实现编程,谈抽象类(Abstract)、接口(Interface)的区别和使用场景什么是抽象类和接口? 不同的编程语言对接口和抽象类的定义方式可能有些差别,但差别并不会很大。Java/C#这种编程语言,既支持抽象类(Abstract),也支持接口(Interface),所以,为了让你对这两个语法概念有比较直观的认识,我们拿Java这种编程语言来举例讲解。 首先,我们来看一下,在J 阅读全文
posted @ 2022-08-31 00:10 TaylorShi 阅读(215) 评论(0) 推荐(0) 编辑
摘要:温故知新,遇见面向对象编程(OOP),四大基础特性:封装(Encapsulation)、抽象(Abstraction)、继承(Inheritance)、多态(Polymorphism)面向对象 常见编程范式:面向过程编程、面向对象编程、函数式编程 面向对象编程是一种编程范式或编程风格。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石。 面向对象编程语言是支持类或对象的语法机制,并有现成的语法机制,能方便地实现面向对象编程四大特性(封 阅读全文
posted @ 2022-08-30 20:42 TaylorShi 阅读(2496) 评论(2) 推荐(1) 编辑
摘要:乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 - 使用C++创建Windows桌面应用程序什么是C++中的Windows桌面应用程序 https://learn.microsoft.com/zh-cn/cpp/windows/desktop-applications-visual-cpp 用C++编写的桌面应用程序是一个本地应用程序,它可以访问全套的Windows API,并在窗口或系统 阅读全文
posted @ 2022-02-26 01:26 TaylorShi 阅读(9207) 评论(0) 推荐(1) 编辑
摘要:温故知新,遇见源代码管理相关命令(Git常用命令、Nuget常用命令、CMD常用命令)Git常用命令 源代码工具 | 工具名称 | 相关地址 | |: :|: | | Git | Git for Windows | | VSC | Visual Studio Code | | VSC插件(Gitlen) | GitLens — Git supercharged | 分支的新建与合并 阅读全文
posted @ 2020-02-22 13:31 TaylorShi 阅读(397) 评论(0) 推荐(0) 编辑

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