随笔分类 -  C#高级

摘要:不一样的角度一窥多线程 最近在性能调试时,发现了一个有趣的现象,我把代码简化后如下. 可以看到,非常简单的一段代码,当我用Windows的性能监测工具来监测每个处理器的使用率时,发现了一个有趣的现象. 我电脑是四核的I7处理器,执行以上代码后,却只有处理器2一直处理一个比较高的占用率,而其他的三个则 阅读全文
posted @ 2019-12-10 08:06 码农阿宇 阅读(2637) 评论(17) 推荐(20)
摘要:背景 人逢喜事精神爽,总算熬到下班撩~~ 正准备和同事打个招呼回家,被同事拖住问了. 🙋‍♂️: 你们组做的那块代码,把double类型数据成float有问题啊💨. 💁‍♀️: 嗯?不对是正常啊,float精度是没有double高,但float能保存到小数点后好多位,对我们来说完全够用了! � 阅读全文
posted @ 2019-09-09 08:09 码农阿宇 阅读(12371) 评论(33) 推荐(37)
摘要:CandidateFeaturesForCSharp9 看到标题,是不是认为我把标题写错了?是的,C 8.0还未正式发布,在官网它的最新版本还是Preview 5,通往C#9的漫长道路却已经开始.前写天收到了活跃在C 一线的 给我分享C 9.0新特性,我在他文章的基础上进行翻译,希望能对大家有所帮助 阅读全文
posted @ 2019-06-10 21:28 码农阿宇 阅读(20493) 评论(50) 推荐(22)
摘要:AsyncStreamsInCShaper8.0 很开心今天能与大家一起聊聊C 8.0中的新特性 ,一般人通常看到这个词表情是这样. 简单说,其实就是C 8.0中支持 . 或者说,C 8.0中支持异步返回枚举类型 . 好吧,还不懂?Good,这篇文章就是为你写的,看完这篇文章,你就能明白它的神奇之处 阅读全文
posted @ 2019-04-10 00:41 码农阿宇 阅读(7755) 评论(19) 推荐(13)
摘要:背景 在上一篇文章 "你真的了解字典吗?" 一文中我介绍了Hash Function和字典的工作的基本原理. 有网友在文章底部评论,说我的Remove和Add方法没有考虑线程安全问题. 查阅相关资料后,发现字典.net中Dictionary本身时不支持线程安全的,如果要想使用支持线程安全的字典,那么 阅读全文
posted @ 2019-03-17 22:31 码农阿宇 阅读(7611) 评论(27) 推荐(27)
摘要:从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点. 为了便于描述,我把上面的那条线路称为线路1,下面的称为线路2. 思路1 先判断线路1的第一个节点的下级节点是否是线路2的第一个节点,如果不是,再判断是不是线路2的第二个 阅读全文
posted @ 2019-02-10 23:21 码农阿宇 阅读(6269) 评论(33) 推荐(28)
摘要:背景: 学生有名称、学号, 班级有班级名称、班级序号 学校有学校名称、学校编号(序号) 需求 现在需要对学生进行排序 第一排序逻辑 当然,在我们录入数据库信息的时候,有的人可能比较懒,没有录入 学校的序号, 班级的序号,学生的学号 ,怎么办? 那么就Plan B ! 第二排序逻辑 我编写了学校、班级 阅读全文
posted @ 2018-05-18 21:03 码农阿宇 阅读(1311) 评论(4) 推荐(3)
摘要:今天在上班的过程中,许长时间未联系的大学小伙伴发来消息,带着一个疑问来找我。 他的需求是type动态添加,这对我来说当然很easy,用泛型就好了, 随后,手起刀落,Demo就写出来,如下: 写了一个方法,传入T进行了where T:class约束,,如此easy,小伙伴怎么不会呢?然而事情并非如此简 阅读全文
posted @ 2018-05-09 14:06 码农阿宇 阅读(1467) 评论(14) 推荐(2)
摘要:为什么写? 今天去上班的公交上,有朋友在张队(张善友)的微信群里,发了一个介绍C# 6.0新特性的视频,视频7分钟,加上本人英语实在太low,整体看下来是一脸懵逼的。 下班回到家里,打开这个视频,把视频中介绍的新特性用文档的形式记录下来,加深自己的印象,此处把我整理的文档分享出来,希望对大家能有所帮 阅读全文
posted @ 2018-04-12 22:53 码农阿宇 阅读(3113) 评论(15) 推荐(9)
摘要:关于EntityFramework Core有三个重要的引用和三条重要的命令,掌握以这六条,基本用Entity Framework Core就得心应手了。 引用1:Install-PackageMicrosoft.EntityFrameworkCore.SqlServer 这是SqlServer的E 阅读全文
posted @ 2018-02-05 22:23 码农阿宇 阅读(2179) 评论(1) 推荐(1)
摘要:我们在变成的时候时常遇到这样的问题,new了一个系统内的对象之后,我们想要对该对象有一个方法可是却点不出来,说明该对象本身没有声明该方法,可是微软又不允许我们去该对象的代码,怎么办? 在C# 3.0 微软加入了扩展方法,那么扩展方法怎么用呢? 比如我们需要在int里面 生命一个方法,返回的值是int 阅读全文
posted @ 2017-11-11 22:10 码农阿宇 阅读(328) 评论(0) 推荐(0)
摘要:在学习的过程中,发现泛型集合List<T>有一个Where函数可以筛选出满足一定条件的元素,结合Lambda表达式使用特别方便,写出来与大家分享。 1.关于Func<> Func是一种有任意个输入参数,有一个返回值的委托,在使用的过程中,Func<in,in,out>,前n-1个是输入参数类型,第N 阅读全文
posted @ 2017-08-21 16:46 码农阿宇 阅读(1055) 评论(0) 推荐(0)
摘要:在保存文件,创建目录时,为了保证名称不重复,经常使用Random产生一个随机数,有更简单且不会重复的办法是: Guid.NewGuid().ToString() 就会生成一个类似 37c1acec-4997-475b-9145-8d83706554e6 的字符串 且这个字符串是独一无二的。 GUID 阅读全文
posted @ 2017-08-17 11:04 码农阿宇 阅读(567) 评论(0) 推荐(0)