自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 C# async/await 异步的要点

4.如果一个异步方法只是对别的异步方法调用的转发,并没有太多复杂的逻辑(比如等待A的结果,再调用B;5.如果想在异步方法中暂停一段时间,不要用Thread.Sleep(),因为它会阻塞调用线程,而要用await Task.Delay()。1.如果同样的功能,既有同步方法,又有异步方法,那么首先使用异步方法。Result(有返回值)。3.把要执行的代码以委托的形式传递给Task.Run(),这样就会从线程池中取出一个线程执行我们的委托。2.异步方法的代码并不会自动在新线程中执行,除非把代码放到新线程中执行.

2025-03-25 00:35:02 198

原创 教你通俗的理解C#中的async/await异步

1.同步和异步的区别:同步代码会阻塞当前线程,直到操作完成,而异步操作允许线程在等待期间去做其他事情,提高效率,尤其是在处理I/O密集型任务时,比如文件读写、网络请求等。自动回到原来的上下文(比如主线程),继续执行 CookAsync 中 await 后面的代码,输出“水烧开了!await 相当于在代码中插入一个“书签”,告诉程序:“你先去忙别的,等这个操作完成再回来继续”。此时,CookAsync 方法会立即返回一个未完成的 Task,主线程被释放(可以去做其他事)。注意:这个等待不会阻塞任何线程!

2025-03-24 23:52:25 260

原创 LINQ笔记

C# 中的 yield return 是一个强大的关键字,它可以帮助我们在不创建临时集合的情况下,实现可枚举的值的生成。有一个用逗号分隔的表示成绩的字符串,如"61,90,100,99,18,22,38,66,80,93,55,50,89",计算这些成绩的平均值。获取Id>2的数据,然后按照Age分组,并且把分组按照Age排序,然后取出前3条,最后再投影取得年龄、人数、平均工资。统计一个字符串中每个字母出现的频率(忽略大小写),然后按照从高到低的顺序输出出现频率高于2次的单词和其出现的频率。

2025-03-20 00:27:45 191

原创 IOC容器实际项目使用

当调用 ResolveKeyed(“csv”) 时,容器返回与键 “csv” 关联的 CsvFileParser 实例。根据配置文件、用户输入或业务逻辑动态选择文件解析方式(如XML、CSV、JSON)。InvalidCastException:解析的实现类未实现接口。作用域(Scoped):在特定作用域内共享实例(如Web请求)。缺点:隐藏类依赖,可能增加代码与容器的耦合,需谨慎使用。瞬态(Transient):每次解析创建一个新实例。单例(Singleton):整个容器共享一个实例。

2025-03-19 16:51:21 298

原创 Lumbda表达式和委托

1.Lumbda表达式是一种定义匿名类型的语法,是一种工具。4.linq也是一种语法,用于查询数据,比如select,where又依赖委托参数(通常由。2.事件是基于委托的一种封装。而委托合于用Lumbda表达式来实例化。3.委托是用来封装方法签名的,可以用Lumbda表达式来实例化。系统自带的有Action(无返回值)和Func(有返回值)特点就是省去了定义委托这一步,可以直接实例化并执行;Lumbda表达式常用于委托和事件和linq中。这是C#给我们的一个语法糖,非常的简洁优雅。我们再看一下泛型委托。

2025-02-20 23:09:29 213

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除