会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
19
20
21
22
23
24
25
26
27
···
46
下一页
2020年11月21日
如何剔掉 sql 语句中的尾巴,我用 C# 苦思了五种办法
摘要: 一:背景 1. 讲故事 这几天都在修复bug真的太忙了,期间也遇到了一个挺有趣bug,和大家分享一下,这是一块sql挺复杂的报表相关业务,不知道哪一位大佬在错综复杂的 嵌套 + 平行 if判断中sql拼接在某些UI组合下出问题了,最终的 sql 架构类似这样的。 var sql = "select
阅读全文
posted @ 2020-11-21 14:07 一线码农
阅读(2572)
评论(7)
推荐(3)
2020年11月17日
客户的一个紧急bug,我用了两种方式进行 C# 反编译修改源码
摘要: 一:背景 1. 讲故事 周五下午运营反馈了一个紧急bug,说客户那边一个信息列表打不开,急需解决,附带的日志文件也发过来了,看了下日志大概是这样的: 日期:2020-11-13 12:25:45,923 线程ID:[3924] 日志级别:INFO 错误类:xxx property:[(null)]
阅读全文
posted @ 2020-11-17 12:26 一线码农
阅读(6245)
评论(32)
推荐(44)
2020年11月14日
C# Span 源码解读和应用实践
摘要: 一:背景 1. 讲故事 这两天工作上太忙没有及时持续的文章产出,和大家说声抱歉,前几天群里一个朋友在问什么时候可以产出 Span 的下一篇,哈哈,这就来啦!读过上一篇的朋友应该都知道 Span 统一了 .NET 程序 栈 + 托管 + 非托管 实现了三大块内存的统一访问,🐂👃,而且在 .net
阅读全文
posted @ 2020-11-14 19:56 一线码农
阅读(3870)
评论(12)
推荐(17)
2020年11月10日
一个 Task 不够,又来一个 ValueTask ,真的学懵了!
摘要: 一:背景 1. 讲故事 前几天在项目中用 MemoryStream 的时候意外发现 ReadAsync 方法多了一个返回 ValueTask 的重载,真是日了狗了,一个 Task 已经够学了,又来一个 ValueTask,晕,方法签名如下: public class MemoryStream : S
阅读全文
posted @ 2020-11-10 12:03 一线码农
阅读(2590)
评论(11)
推荐(15)
2020年11月7日
C# 中的 ref 已经被放开,或许你已经不认识了
摘要: 一:背景 1. 讲故事 最近在翻 netcore 源码看,发现框架中有不少的代码都被 ref 给修饰了,我去,这还是我认识的 ref 吗?就拿 Span 来说,代码如下: public readonly ref struct Span<T> { public ref T GetPinnableRef
阅读全文
posted @ 2020-11-07 09:21 一线码农
阅读(5683)
评论(10)
推荐(29)
2020年11月4日
一路踩坑,被迫聊聊 C# 代码调试技巧和远程调试
摘要: 一:背景 1. 讲故事 每次项目预交付的时候,总会遇到各种奇葩的坑,我觉得有必要梳理一下以及如何快速解决的,让后来人避避坑,这篇就聊聊自己的所闻所遇: 我去,本地环境代码跑的哧溜,上了测试环境出问题 我去, 第三方提供的 dll 跑出 bug 了 二:两个大坑的解决方案 1. 本地环境没问题,上了测
阅读全文
posted @ 2020-11-04 09:45 一线码农
阅读(4398)
评论(20)
推荐(41)
2020年11月2日
把 Console 部署成 Windows 服务,四种方式总有一款适合你!
摘要: 一:背景 1. 讲故事 上周有一个项目交付,因为是医院级项目需要在客户的局域网独立部署。 程序: netcore 2.0,操作系统: windows server 2012,坑爹的事情就来了, netcore sdk 一直装不上,网上找了资料说需要先安装 Visual C++ Redistribut
阅读全文
posted @ 2020-11-02 09:56 一线码农
阅读(3961)
评论(8)
推荐(11)
2020年10月30日
对精致码农大佬的 [理解 volatile 关键字] 文章结论的思考和寻找真相
摘要: 一:背景 1. 讲故事 昨天在园里的编辑头条看到 精致码农大佬 写的一篇题为:[C#.NET 拾遗补漏]10:理解 volatile 关键字 (https://www.cnblogs.com/willick/p/13889006.html) 的文章,大概就是说在 多线程环境下,一个在debug不出现
阅读全文
posted @ 2020-10-30 18:40 一线码农
阅读(2085)
评论(10)
推荐(29)
2020年10月28日
源码都没调试过,怎么能说熟悉 redis 呢?
摘要: 一:背景 1. 讲故事 记得在很久之前给初学的朋友们录制 redis 视频课程,当时结合了不少源码进行解读,自以为讲的还算可以,但还是有一个非常核心的点没被分享到,那就是源码级调试, 对,读源码还远远不够,还得亲自实操,为了弥补这个遗憾,这一篇就补起来哈。 二:vscode 和 redis 的部署
阅读全文
posted @ 2020-10-28 09:30 一线码农
阅读(2174)
评论(3)
推荐(7)
2020年10月26日
用 Span 对 C# 进程中三大内存区域进行统一访问 ,太厉害了!
摘要: 一:背景 1. 讲故事 前段时间写了几篇 C# 漫文,评论留言中有很多朋友多次提到 Span,周末抽空看了下,确实是一个非常🐂👃的新结构,让我想到了当年的WCF,它统一了.NET下各种零散的分布式技术,包括:.NET Remoteing,WebService,NamedPipe,MSMQ,而这里
阅读全文
posted @ 2020-10-26 09:40 一线码农
阅读(5049)
评论(8)
推荐(31)
2020年10月24日
C#8.0之后接口已经不再单纯了,我懵逼了!
摘要: 一:背景 1. 讲故事 大家在经过面向对象洗礼的时候,都了解过接口,而且知道它是一种自上而下的设计思路,举个例子,我们电脑上都有 USB 2.0 接口,蓝牙耳机实现了它可以进行充电,移动硬盘实现了它可以在电脑端显示硬盘内容,蓝牙鼠标实现了它可以进行鼠标操控,可以看出USB插口做出来后,谁来实现谁也搞
阅读全文
posted @ 2020-10-24 09:03 一线码农
阅读(3356)
评论(20)
推荐(10)
2020年10月21日
技术债! 怎样简洁高效的实现多个 Enum 自由转换
摘要: 一:背景 1. 讲故事 前段时间和同事负责一个项目的两个业务模块,可能大家缺少沟通,导致本该定义一个 Enum 的地方结果我俩各自定义了一个,导致后面这两个 Enum 进行对接就烦了,为了方便理解,也不想让大家看这崴脚的英文拼写,我就拿 银行 举例吧。 A同事 定义的枚举 public enum B
阅读全文
posted @ 2020-10-21 09:30 一线码农
阅读(4010)
评论(14)
推荐(21)
2020年10月20日
为啥 Response.Write 后,View就不渲染了?
摘要: 一:背景 1. 讲故事 前几天群里有一位朋友聊到,为什么我在 Action 中执行一句 Response.Write 之后,后续的 View 就不呈现了,如果脑子中没有画面,那就上测试代码: public class HomeController : Controller { public IAct
阅读全文
posted @ 2020-10-20 08:57 一线码农
阅读(1566)
评论(2)
推荐(14)
2020年9月30日
C# 中的 is 真的是越来越强大,越来越语义化
摘要: 一:背景 1. 讲故事 最近发现 C#7 之后的 is 是越来越看不懂了,乍一看花里胡哨的,不过当我静下心来仔细研读,发现这 is 是越来越短小精悍,而且还特别语义化,那怎是一个爽字了得😄,这一篇就和大家简单聊一聊。 二:C#7 之前的 is 如何使用 1. 类型兼容性检测 相信学过 C# 的朋友
阅读全文
posted @ 2020-09-30 11:26 一线码农
阅读(14139)
评论(34)
推荐(46)
2020年9月28日
遍历 Dictionary,你会几种方式?
摘要: 一:背景 1. 讲故事 昨天在 StackOverflow 上看到一个很有趣的问题,说: 你会几种遍历字典的方式,然后跟帖就是各种奇葩的回答,挺有意思,马上就要国庆了,娱乐娱乐吧,说说这种挺无聊的问题😄😄😄。 二: 使用 foreach 遍历 为了方便演示,先上一段测试代码: var dict
阅读全文
posted @ 2020-09-28 09:35 一线码农
阅读(3956)
评论(6)
推荐(8)
上一页
1
···
19
20
21
22
23
24
25
26
27
···
46
下一页
公告