随笔分类 -  C#

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 26 下一页

C#中配合?操作符检查null的语法糖
摘要:c#处理null的几个语法糖,非常实用。(尤其是文末Dictionary那个案例,记得收藏) ?? 如果左边是的null,那么返回右边的操作数,否则就返回左边的操作数,这个在给变量赋予默认值非常好用。 int? a = null; int b = a ?? -1; Console.WriteLine 阅读全文

posted @ 2023-01-29 16:21 jack_Meng 阅读(62) 评论(0) 推荐(0) 编辑

C#:终于有人把 ValueTask、IValueTaskSource、ManualResetValueTaskSourceCore 说清楚了!
摘要:目录 1,可用版本与参考资料 2,ValueTask<TResult> 和 Task 3,编译器如何编译 4,ValueTask 有什么优势 5,ValueTask 创建异步任务 6,IValueTaskSource 和自定义包装 ValueTask 关于 IValueTaskSource 什么是 阅读全文

posted @ 2023-01-29 15:55 jack_Meng 阅读(170) 评论(0) 推荐(0) 编辑

在 C# 中使用 Span<T> 和 Memory<T> 编写高性能代码
摘要:目录 在 C# 中使用 Span 和 Memory 编写高性能代码 .NET 中支持的内存类型 .NET Core 2.1 中新增的类型 访问连续内存: Span 和 Memory Span 介绍 C# 中的 Span Span 和 Arrays Span 和 ReadOnlySpan Memory 阅读全文

posted @ 2023-01-29 15:41 jack_Meng 阅读(445) 评论(0) 推荐(0) 编辑

static using 与 global using的使用和隐式类型的转换
摘要:Result 类型是许多编程语言中处理错误的常用方式,包括 C# 的 dotNext 库。在本文中,我们将通过例子回顾 C# 中 using 语句和隐式类型转换的使用。 预期效果 下面是一个示例代码,演示了 Result 类型的使用方法: namespace TestProject1; public 阅读全文

posted @ 2023-01-05 17:33 jack_Meng 阅读(231) 评论(0) 推荐(0) 编辑

一个开放源代码,实现动态IL注入(Hook或补丁工具)框架:Lib.Harmony(Patch,PatchAll,Prefix,Postfix,Transpiler)
摘要:详情请参考原文:一个开放源代码,实现动态IL注入(Hook或补丁工具)框架:Lib.Harmony 阅读全文

posted @ 2023-01-01 11:43 jack_Meng 阅读(207) 评论(0) 推荐(0) 编辑

【c#】获取剪切板中复制文本、图片等数据
摘要:我们先考虑一般会从什么地方复制文本、图片到我们的软件中。 首先说文本。我们可能会从文本文件,网页,word,ppt,qq,微信,甚至是vsCode等等地方进行复制。能进行文本复制的地方千奇百怪,但是他们使用的都是通用文本容器控件(TextBlock、TextBox等),这些控件的底层复制操作都是一样 阅读全文

posted @ 2022-12-29 19:54 jack_Meng 阅读(2425) 评论(0) 推荐(0) 编辑

C#深拷贝有哪些方法实现
摘要:概述 为什么要用到深拷贝呢?比如我们建了某个类Person,并且实例化出一个对象,然后,突然需要把这个对象复制一遍,并且复制出来的对象要跟之前的一模一样,来看下我们一般会怎么做。 方法一(利用反射实现) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public static 阅读全文

posted @ 2022-12-14 09:22 jack_Meng 阅读(66) 评论(0) 推荐(0) 编辑

对于async和await的使用同步、异步、顺序执行方式
摘要:结论 同步还是异步,区别如下: 同步:你使用 await 修饰符去调用一个异步(async)方法(是异步方法,不过是阻塞式的,可简单理解为同步); 异步:你获取异步方法返回的 Task,就是异步(后文有代码示例); 可以实现多任务执行顺序执行且不阻塞。 概述 async(C# 参考) async 是 阅读全文

posted @ 2022-12-13 09:04 jack_Meng 阅读(4316) 评论(0) 推荐(1) 编辑

C# 6.0、7.0、8.0、9.0 添加和增强的功能【基础篇】
摘要:C# 9.0 添加和增强的功能【基础篇】 C# 8.0 添加和增强的功能【基础篇】 C# 7.0 添加和增强的功能【基础篇】 C# 6.0 添加和增强的功能【基础篇】 出处:https://www.cnblogs.com/czzj/category/2233959.html 阅读全文

posted @ 2022-12-02 13:32 jack_Meng 阅读(84) 评论(0) 推荐(0) 编辑

C#中子类调用父类的构造方法
摘要:本文实例讲述了C#中实现子类调用父类的方法,分享给大家供大家参考之用。具体方法如下: public class Person { public Person() { Console.WriteLine("我是人"); } } public class Student : Person { publi 阅读全文

posted @ 2022-12-02 09:31 jack_Meng 阅读(3222) 评论(0) 推荐(1) 编辑

C#调用父类的父类的方法,甚至祖父类的函数
摘要:C#怎么调用父类甚至祖父类的虚函数 在项目开发的时候,有类的继承关系,但是,有时候我们就是需要调用父类或祖父类的方法,怎么办呢? using System; using System.Collections.Generic; using System.Linq; using System.Text; 阅读全文

posted @ 2022-12-02 09:15 jack_Meng 阅读(2838) 评论(0) 推荐(0) 编辑

C#的switch的用法及模式匹配
摘要:switch-case语句经常被认为是if-else语句的替代品,但是在众多程序语言中还是能见到switch的存在,这很大程度上是因为switch更实用,这一点在C#中更能提现。 简单的语法就不说了,一个简单的switch用法: switch (cmd) { case "start": Consol 阅读全文

posted @ 2022-12-01 15:38 jack_Meng 阅读(12738) 评论(0) 推荐(3) 编辑

C#中的is和as的用法及模式匹配
摘要:is运算符 is在C#7.0之前,主要用于检验实例是否是指定的类型,格式: expr is type expr是一个具有值的表达式,type是一个类型。 从C#7.0开始,is表达式将使用模式匹配来操作,格式: expr is pattern expr是一个具有值的表达式,pattern是模式匹配, 阅读全文

posted @ 2022-12-01 15:36 jack_Meng 阅读(2684) 评论(0) 推荐(1) 编辑

C#中的模式匹配
摘要:C#从7.0开始,陆陆续续推出了各种模式匹配,模式是一种特殊的表达式,通过判断给定的值是否满足此表达式而返回true或者false,它就类似于正则表达式的作用。 目前(C#10),可以使用模式匹配的地方有三个: 1、is表达式,从C#7.0开始,is表达式的右边不在只是一个类型,而是一个模式,具体例 阅读全文

posted @ 2022-12-01 15:33 jack_Meng 阅读(874) 评论(0) 推荐(0) 编辑

C#通过 Expression 表达式获取、设置属性名称、属性值
摘要:C# 通过反射获取类属性标识名称 JSON序列化的时候,往往前后端的属性名称回不一样,尤其是再调用第三方接口的时候,为了减少这方便的麻烦,一般我们在自定义实体的时候,回使用数据契约(DataContract) 一旦声明一个类型为DataContract,那么该类型就可以被序列化在服务端和客户端之间传 阅读全文

posted @ 2022-12-01 11:22 jack_Meng 阅读(2306) 评论(0) 推荐(0) 编辑

C#事件获取返回值
摘要:From: http://www.xuebuyuan.com/841530.html 在讲如何获取多个返回值之前先来看一个小例子: private void button1_Click(object sender, EventArgs e){ int Number = 200; //设置Number 阅读全文

posted @ 2022-11-24 09:10 jack_Meng 阅读(1138) 评论(0) 推荐(0) 编辑

C#如何反射出委托的签名,反射调用委托
摘要:本文阐述C#中如何反射出委托的签名,假如我们有委托FooDelegate定义如下 delegate double FooDelegate (string param, bool condition); 那么我们怎么用反射知道这个委托的签名是: 一个string类型的参数param、一个bool类型的 阅读全文

posted @ 2022-11-23 16:24 jack_Meng 阅读(431) 评论(0) 推荐(0) 编辑

使用MSIL采用Emit方式实现C#的代码生成与注入常用代码
摘要:本文主要使用微软提供的一套C#的API函数,通过这些API函数,可以对已经编译过的.Net体系生成的EXE,DLL文件进行修改,而不是修改源码编译的方式,来完成新功能的加入、或者原有功能的修改。这个方式可以应用于修改没有源码DLL或EXE文件、批量修改或插入代码功能到DLL或EXE文件中。 背景介绍 阅读全文

posted @ 2022-11-22 16:48 jack_Meng 阅读(498) 评论(0) 推荐(1) 编辑

MessagePack 和System.Text.Json 序列号 反序列化对比
摘要:本博客将测试MessagePack 和System.Text.Json 序列号 反序列化性能 项目文件: Program.cs代码: using BenchmarkDotNet.Running; using Demo; var summary = BenchmarkRunner.Run<Serial 阅读全文

posted @ 2022-11-14 09:08 jack_Meng 阅读(135) 评论(0) 推荐(0) 编辑

使用 AssemblyLoadContext 加载和卸载程序集
摘要:准备俩个项目 第一个是控制台 第二个项目是类库 类库项目中只有一个示例class,将类库的代码生成dll 并且设置属性为复制到输出目录 using System.Runtime.Loader; var domain = new AssemblyLoadContext("DomainServer", 阅读全文

posted @ 2022-11-14 09:06 jack_Meng 阅读(517) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 26 下一页

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩