随笔分类 - C#
摘要:前言C#语言是世界最优雅的语言之一,深受广大程序员的喜欢,尤其是其中的一些语法糖。C#语言推出了许多有价值的语法糖,这些语法糖可以使代码更加简洁、易读和提高程序的运行效率。本文将介绍10个比较实用的语法糖。1、集合初始化器集合初始化器允许我们在创建集合对象时使用简洁的语法来初始化集合的元素。C# 6
阅读全文
摘要:delegate、event、EventHandler、Action、Func的使用和区别 【目录】 1 委托 2 事件-概念的引出 3 事件-关于异常 4 事件-关于异步 5 委托-Func与Action 1 委托 在.NET中定义“委托”需要用到delegate关键字,它是存有对某个方法的引用的
阅读全文
摘要:第一:委托 有些教材,博客说到委托都会提到事件,虽然事件是委托的一个实例,但是为了理解起来更简单,今天只谈委托不谈事件。先上一段代码: 下边的代码,完成了一个委托应用的演示。一个委托分三个步骤: 1 class Program 2 { 3 //step01:首先用delegate定义一个委托 。 4
阅读全文
摘要:数据结构:1.Set集合,纯粹的容器,无需存储,就是一个容器2.线型结构:在存储的时候,一对一存储3.树形结构:表达式目录树(二叉树)、菜单结构:一对多4.图形结构:扩扑图、网状结构(地图开发,用C#高级–常用数据结构 一.线程结构 1.线程结构:Array/ArrayList/List/Linke
阅读全文
摘要:前言C#处理null的几个语法糖,非常实用。(尤其是文末Dictionary那个案例,记得收藏)一、??如果左边是的null,那么返回右边的操作数,否则就返回左边的操作数,这个在给变量赋予默认值非常好用。 int? a = null;int b = a ?? -1;Console.WriteLine
阅读全文
摘要:前言 二维码很多地方都有使用到。如果是静态的二维码还是比较好处理的,通过在线工具就可以直接生成一张二维码图片,比如:草料二维码。 但有的时候是需要动态生成的(根据动态数据生成),这个使用在线就工具就无法实现了。最好是能在代码中直接生成一个二维码图片,介绍下使用QRCoder类库在代码中生成二维码。
阅读全文
摘要:目录 解决一个C#中定时任务被阻塞问题 1.摘要 2.C#中定时任务的最简方法 3.定时任务阻塞现象 4.阻塞现象原因分析 5.问题解决 1.摘要 本文会介绍一个C#中最简单定时任务的使用方法,以及会遇到的定时任务被阻塞现象,从笔者理解的角度分析原因。以及提供解决方案。 2.C#中定时任务的最简方法
阅读全文
摘要:FluentValidation是一个非常强大的用于构建强类型验证规则的 .NET 框架,帮程序员解决了繁琐的校验问题,用起来非常爽,但我还是遇到了一件非常不爽的事情,如下代码所示: public class UserInformationValidator : AbstractValidator<
阅读全文
摘要:简介 List、Queue 和 Stack 集合中的 EnsureCapacity方法预设数组大小。 为什么以及何时使用EnsureCapacity 方法 这里我们将首先了解为什么需要使用这种方法以及何时使用。在 List、Queue 和 Stack内部使用的是数组来表示集合。每次我们向这些集合添加
阅读全文
摘要:简介 Mapster是一个快,小巧,功能强大的对象映射.Net框架 例子 我有两个Model类且他们的属性一致,我们将 SourceObjectTest赋值给DestObjectTest该怎么做? SourceObjectTest sourceObject = new SourceObjectTes
阅读全文
摘要:在实际项目中,经常会需要通过摄像头采集个人信息的功能,那么要如何实现呢?本文将通过一个简单的小例子简述如何通过AForge进行摄像头信息采集相关内容希望能够对大家有所帮助。 概述 AForge.NET是一个专门为开发者和研究者基于C#框架设计的,提供了不同的类库和关于类库的资源,还有很多应用程序例子
阅读全文
摘要:问题 如题C#中() =>表达式有何作用,比如 public ICommand AddCommand{ get { if (this.addCommand == null) this.addCommand = new RelayCommand(() => this.AddPet(), () => t
阅读全文
摘要:今天来讲一讲C#delegate、event、Action、EventHandler的使用和区别 小故事讲解这四位的前世今生 曾经.Net大佬只有一个Delegete(委托),别人想用委托的时候,必须得用delegate关键字来定义一个委托,就像这样 //定义一个无返回值的,带一个int参数的委托p
阅读全文
摘要:我们在开发中,用到特性的地方很多,比如控制器中的HttpPost特性,属性的序列号特性Serializable,还有验证特性Authorize等。今天我们来探究一下特性(Attribute),并简单定义一个自己的特性。由于篇幅问题,本文章分为两篇,第一篇为探究,第二篇自定义特性(在自定义特性中将会一
阅读全文
摘要:在使用LINQ的使用过程中,经常会用到Lambda表达式,Lambda表达本质是委托,我们在使用过程中如果参数需要拼接,那么我们就需要用到表达式Expression,他的基本使用如下 Expression<Func<int, int>> ExTree = s => s>2+s; 从中可以看出,这个使
阅读全文
摘要:翻译自 Mads Torgersen 2020年5月20日的博文《Welcome to C# 9.0》,Mads Torgersen 是微软 C# 语言的首席设计师,也是微软 .NET 团队的项目群经理。 C# 9.0 正在成形,我想和大家分享一下我们对下一版本语言中添加的一些主要特性的想法。 对于
阅读全文
摘要:前言 本系列会直接引用前一篇博客概述 .NET 6 ThreadPool 实现 里的结论,所以请没看过的同学先麻烦看下。 文中所有例子均出于解释目的,并非具有实际意义的代码。有返回值的 Task 和无返回值的 Task 实际区别不是很大,下文大多数举例不做特别区分。不纠结 api 的使用细节,只讲
阅读全文
摘要:什么是委托? 委托是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。委托特别用于实现事件和回调方法! 使用委托: public delegate void MyDelegateDemo(); private void HelloWorld() { Console.WriteLine("
阅读全文
摘要:大家在编码过程中常常用到linq中LINQ To Object和LINQ To SQL,使用上来说好像差不多,傻傻分不清他们有啥区别。从字面字面意思上可以看出LINQ To Object跟Object有关系,而LINQ To SQL跟Sql有关系,事实上是这样吗?他们有本质的区别。下面我们分别介绍他
阅读全文
摘要:前言: -. 读作 goes to,是C#3.0的新内容; -. 字段定义时设置{ get; set; }属性的作用: 主要是为了外部访问的安全性封装字段,get set你自己可以设置限制条件,尤其是wpf绑定时,没有get set属性,界面是更新不了的。写上get,set这种访问器的叫属性,不写的
阅读全文

浙公网安备 33010602011771号