数据异步
摘要:写了这么多年的程序,相信大家都知道连接数据库少不了这几个对象,DbConnection,DbCommand,DbDataReader等等。。先来看看ContinueWith在连接数据库时嵌套过深的尴尬。 当年异步和并发编程概念特别火,火热度参考现在的直播带货,这个时期的C#率先使用新的Task一网兜
阅读全文
C#-Websocket应用语音合成实战
摘要:如何开发一个在线朗读的功能 科大讯飞语音合成实战 起因 天天学习强国,不过强国APP的语音朗读不错,了解之后是科大讯飞支持的,于是开始撸码。https://www.xfyun.cn/doc/tts/online_tts/API.html 注册为开发者,接口要求这些我就不赘述了,文档里面写的清楚。当然
阅读全文
C#函数式编程yield return和IEnumerable<int>, IEnumerator<int>
摘要:多角度让你彻底明白yield语法糖的用法和原理及在C#函数式编程中的作用 如果大家读过dapper源码,你会发现这内部有很多方法都用到了yield关键词,那yield到底是用来干嘛的,能不能拿掉,拿掉与不拿掉有多大的差别,首先上一段dapper中精简后的Query方法,先让大家眼见为实。 priva
阅读全文
C#并发队列ConcurrentQueue的内部
摘要:[一起读源码]走进C#并发队列ConcurrentQueue的内部世界 https://source.dot.net/#q=ConcurrentQueue.cs https://github.com/dotnet/runtime/blob/master/src/libraries/System.Pr
阅读全文
C#并发队列ConcurrentQueue的内部世界
摘要:C#并发队列ConcurrentQueue的内部世界 要提前说明下的是,本文解析的源码是基于.NET Framework 4.8版本,地址是:https://referencesource.microsoft.com/#mscorlib/system/Collections/Concurrent/C
阅读全文
19道C#面试题
摘要:19道C#面试题 先略看题目: 请简述async函数的编译方式 请简述Task状态机的实现和工作机制 请简述await的作用和原理,并说明和GetResult()有什么区别 Task和Thread有区别吗?如果有请简述区别 简述yield的作用 利用IEnumerable<T>实现斐波那契数列生成
阅读全文
基于 Roslyn 实现解析引擎
摘要:基于 Roslyn 实现一个简单的条件解析引擎 最近在做一个勋章的服务,我们想定义一些勋章的获取条件,满足条件之后就给用户颁发一个勋章,定义条件的时候会定义需要哪些参数,参数的类型,获取勋章的时候会提供锁需要的参数,有一些内置的参数,内置的参数解析器(ParamResolver)。 最后基于 Ros
阅读全文
C# Socket编程
摘要:C# Socket编程实现简单的局域网聊天器 前言 最近在学习C# Socket相关的知识,学习之余,动手做了一个简单的局域网聊天器。有萌生做这个的想法,主要是由于之前家里两台电脑之间想要传输文件十分麻烦,需要借助QQ,微信或者其他第三方应用,基本都要登录,而且可能传输的文件还有大小限制,压缩问题。
阅读全文
C#各版本新功能
摘要:C#各版本新功能 代码演示C#各版本新功能 C#各版本新功能其实都能在官网搜到,但很少有人整理在一起,并通过非常简短的代码将每个新特性演示出来。 代码演示C#各版本新功能 C# 2.0版 - 2005 泛型 分部类型 匿名方法 可以为null的值类型 迭代器 协变和逆变 C# 3.0版 - 2007
阅读全文
拼图魔方
摘要:C# 小游戏-拼图魔方【Game Puzzle】 工作闲暇之余去逛了逛CodeProject,刚好现有项目主要用到就是winform,浏览了下照片,找到上周带着蛋挞打疫苗回家的照片,于是新生一记,如何把这些图片玩起来~ 80后应该都有印象,小时候有种玩具,叫做拼图魔方,90后00后的世界这种玩具应该
阅读全文
ExpressionTree实现JSON解析器
摘要:ExpressionTree实现JSON解析器 今年的春节与往年不同,对每个人来说都是刻骨铭心的。突入其来的新型冠状病毒使大家过上了“梦想”中的生活:吃了睡,睡了吃,还不用去公司上班,如今这样的生活就在我们面前,可一点都不踏实,只有不停的学习才能让人安心。于是我把年前弄了一点的JSON解析器实现了一
阅读全文
正则进阶
摘要:【C#】正则进阶 .NET 中的正则表达式是基于 Perl 5 的正则表达式。 超时 从 .NET Framework 4.5 开始,正则表达式支持在匹配操作中指定超时时间。如果匹配超时,就会抛出 RegexMatchTimeoutException。 所有方法都增加了带超时时间参数的重载: pub
阅读全文
C# 有道API翻译
摘要:C# 有道API翻译 查询单词详细信息 原文:C# 有道API翻译 查询单词详细信息 有道云官方文档 有道云翻译API简介:http://ai.youdao.com/docs/doc-trans-api.s#p01 有道云C#Demo : http://ai.youdao.com/docs/doc-
阅读全文
百度翻译接口使用c#
摘要:c#使用百度翻译接口(更新修复) https://www.songshizhao.com/blog/blogPage/1004.html 定义baidu返回的json对应的类 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
阅读全文
C# 类中发生数据变化的属性
摘要:如何获取 C# 类中发生数据变化的属性信息 一、前言# 在平时的开发中,当用户修改数据时,一直没有很好的办法来记录具体修改了那些信息,只能暂时采用将类序列化成 json 字符串,然后全塞入到日志中的方式,此时如果我们想要知道用户具体改变了哪几个字段的值的话就很困难了。因此,趁着这个假期,就来解决这个
阅读全文
C#重写Equals和GetHashCode
摘要:C#中Equals和GetHashCode Equals和GetHashCode Equals每个实现都必须遵循以下约定: 自反性(Reflexive): x.equals(x)必须返回true. 对称性(Symmetric): x.equals(y)为true时,y.equals(x)也为true
阅读全文
.NET BS端和CS端---byte对象数据
摘要:.NET BS端和CS端相互压缩发送接收byte对象数据方法 量比较大,需要对数据进行转化为byte数据,再压缩后发送,接收方需要接收byte数据,再解压缩,还原成数据。 本文既有Web端发送接收数据,也有CS端发送接收数据,内容比较全面。 一、object和byte互转 object和byte互转
阅读全文
C#之向上取整,向下取整,四舍五入
摘要:向上取整 向下取整 四舍五入 Math.Round:四舍六入五取整 Math.Ceiling:向上取整,只要有小数都加1 Math.Floor:向下取整,总是舍去小数 https://www.cnblogs.com/net-sky/category/1062168.html
阅读全文
不一样的角度一窥多线程
摘要:不一样的角度一窥多线程 不一样的角度一窥多线程 最近在性能调试时,发现了一个有趣的现象,我把代码简化后如下. Copy class Program { static void Main(string[] args) { Console.WriteLine("Start..."); DoSomethi
阅读全文
引用 foreach 迭代变量”在C#7.3
摘要:引言 有C#基础的,当问到循环有哪些,会毫不犹豫的说出的for、do while、foreach及while这几种,但是到具体实际开发中,我们遇到一些问题,比如:到底选择哪种?为什么选择这种?哪种好像都可以?,其实在大多数情况下基本上可以通用,但是遇到比如Dictionary <[key] , [v
阅读全文