封面图

写个 .NET 程序解决 Windows 版微信 3.9 收到文件“只读”的问题

2023-02-17
阅读 3 分钟
3k
Windows 版微信升级到 3.9 之后,接收到的文件都变成了只读属性,对需要经常修改微信接收文件进行交流的人来说极为不便。虽然从业务功能上来说,需要频繁交流的文档还是用在线协同(比如腾讯文档)比较好一些,但从技术的角度来看,应该如何解决这个问题呢?

C# 官方文档导读及推荐书单

2022-01-27
阅读 3 分钟
8k
由于长期积累,C# 官方文档提供的内容较多,但比较杂乱,对初学者来说并不是很友好。而对已经学习了 C# 的人,作为参考和知识点查找工具来说是非常有用的。但是,官方文档提供了最全、最详细的学习内容,初学者可以跟随导读,在这里学习 C# 的基础知识。

封面图

小失误,大问题 —— 为已发布的接口更名

2021-12-08
阅读 3 分钟
3.1k
写代码难免出现失误。在对某些已经发布的库进行升级或者审查的时候,就有可能会发现一些接口名称需要变更。比如,早期命名不符合特定规范,或者出现了难以发现的拼写错误等。有错当然是要改的,但是直接更名会影响到已发布的接口。粗暴的名称变更本质上是删除了旧接口,创建了新接口,对 API 用户来说极具破坏性 —— 用户...
封面图

安全地在前后端之间传输数据 - 「1」技术预研

2021-04-15
阅读 8 分钟
13.2k
已经不是第一次写这个主题了,最近有朋友拿 5 年前的《Web 应用中保证密码传输安全》来问我:“为什么按你说的一步步做下来,后端解不出来呢?”加解密这种事情,差之毫厘谬以千里,我认为多半就是什么参数没整对,仔细查查改对了就行。代码拿来一看,傻眼了……没毛病啊,为啥解不出来呢?

接口默认方法是什么鬼

2020-03-08
阅读 9 分钟
7.1k
接口之所以成为接口,就在于它没有实现,只是声明。但后来一切都变了,Java 里出现了默认方法,C# 也出现了默认方法。接口已经不像传统意义上的接口,其概念开始向抽象类靠近,一个纯抽象的东西,突然出现了实体,于是开始傻傻分不清了。

ASP.NET MVC 插件化开发简化方案

2017-08-16
阅读 7 分钟
16.7k
Web 管理系统可以庞大到不可想像的地方,如果想就在一个 Asp.Net MVC 项目中完成开发,这个工程将会变得非常庞大,协作起来也会比较困难。为了解决这个问题,Asp.Net MVC 引入了 Areas 的概念,将模块划分到 Area 中去——然而 Area 仍然是主项目的一部分,多人协作的时候仍然很容易造成 .csproj 项目文件的冲突。

C# 的“友元”类实现 Builder 模式

2017-06-30
阅读 5 分钟
10k
友元是 C++ 中的概念,包含友元函数和友元类。被某个类声明为友元的函数或类可以访问这个类的私有成员。友元的正确使用能提高程序的运行效率,但同时也破坏了类的封装性和数据的隐藏性,导致程序可维护性变差。因此,除了 C++ 外很难再看到友元语法特性。

C# 7.0 的新特性(速览版)

2017-03-11
阅读 5 分钟
5.8k
《〔译〕 C# 7 的新特性》花了很大的篇幅来介绍 C# 7.0 的 9 个新特性,这里我根据项目经验,通过实例对它们进行一个快速的介绍,让大家能在短时间内了解它们。

〔译〕C# 7 的新特性

2017-03-11
阅读 15 分钟
4.4k
原文:What's new in C# 7 2016-12-21 译者注:原文于 2016 年 12 月发表,当时 Visual Studio 2017 还是 15 Preview 5,不过直到 VS2017 它们仍然没什么变化。

集合数据处理(C#、JavaScript 和 Java)

2016-09-12
阅读 9 分钟
6.1k
Java 丢了好多年,最近在拣起来,首先当然是了解这么多年来它的变化,于是发现了 Java 8 的java.util.stream。在学习和试验的过程中,相比较于 C# 和 javascript,有那么些心得,作文以记之。 早些时间写过一篇《ES6 的 for..of 和 Generator,从伪数组 jQuery 对象说起》,和这个主题有点关系。其实我记得还有一篇讲 C#...

闲谈异步调用“扁平”化

2015-09-13
阅读 2 分钟
19k
随着 CPU 从单核变多核,软件从注重功能到注重体验,Web 从页面跳转方式到 Web2.0 的无刷新加载(AJAX),程序员越来越多的接触多线程和异步。而 Android 的主线程中不允许操作网络,更是将程序员们推向了异步的深渊。异步深渊产生的主要原因是回调,这在 nodejs 里尤其严重。

C# 并行计算(Parallel 和 ParallelQuery)

2015-08-15
阅读 3 分钟
19.4k
parallel 英 [ˈpærəlel] 美 [ˈpærəˌlɛl]adj.平行的; 相同的,类似的; [电]并联的; [计]并行的adv.平行地,并列地n.平行线(面); 相似物; 类比; 纬线vt.使平行; 与…媲美; 与…相比; 与…相似

解决Linq.ToDictionary()时的键重复问题

2015-08-10
阅读 3 分钟
13.1k
原来 ToDictionary() 不会处理重复键,也没有提供多的参数来处理重复键。想了一下,这种问题大概应该用 ToLookup() 来解决,所以改写了代码

在 Visual Studio 2015 中使用C# 5.0

2015-08-09
阅读 1 分钟
7.3k
自7月20日 Visual Studio 2015(以下简称 VS2015) 发布以来,相信有不少人已经在团队没有宣布切换到 VS2015 的情况下偷偷的用上了 VS2015。还好 VS2015 兼容旧版本的解决方案和项目文件,不会强制更新版本,所以用就用吧,也没人会说啥。除了感觉比 VS2013 卡之外也没有什么不对,当然还得除开一个问题:

原来C#的可空类型可以直接参与计算

2015-08-07
阅读 2 分钟
2.8k
偶然发现一个 decimal? 类型的数据直接参与计算并没有报语法错误。以为是 Visual Studio 2015 中 C#6.0 的“空值判断”特性。为了避免在构建服务器的 Visual Studio 2013 环境下不能编译通过,所以特别用 Visual Studio 2013 重新打开项目观察,发现居然仍然没有语法错误。