董川民 发布的文章

C#版本、.NET版本、Visual Studio版本对应关系

网上找的,我综合了下,信息不是特别精准,做参考没问题的。

C#版本 .NET版本 Visual Studio版本 发布日期 特性
C# 1.0 .NET Framework 1.0 Visual Studio .NET 2002 2002-02-13 委托、事件
C# 1.1 .NET Framework 1.1 Visual Studio .NET 2003 2003-04-24 APM(异步编程模型)
C# 2.0 .NET Framework 2.0 Visual Studio 2005 2005-11-07 泛型、匿名方法、迭代器、可空类型
C# 3.0 .NET Framework 3.0 Visual Studio 2008 2007-11-06 隐式类型
  .NET Framework 3.5   2007-11-19 对象集合初始化、自动实现属性、匿名类型、扩展方法、查询表达式、Lambda表达式、 表达式树、分部类和方法、Linq
C# 4.0 .NET Framework 4.0 Visual Studio 2010 2010-04-12 动态绑定、命名和可选参数、泛型的协变和逆变、互操作性
C# 5.0 .NET Framework 4.5 Visual Studio 2012/2013 2012-08-15 异步和等待(async和await)、调用方信息(Caller Information)
C# 6.0 .NET Framework 4.6 Visual Studio 2015 2015-07-20 C# 6 中的新增功能
  .NET Core 1.0   2016-06-27  
C# 7.0 .NET Framework 4.6.2 Visual Studio 2017 2016-08-02 C# 7.0 中的新增功能
C# 7.1 .NET Framework 4.7 Visual Studio 2017 v15.3 2017-04-05  
  .NET Core 2.0   2016-08-14 .NET Core 2.0 的新增功能
C# 7.2 .NET Framework 4.7.1 Visual Studio 2017 v15.5 2017-10-17  
C# 7.3 .NET Framework 4.7.2 Visual Studio 2017 v15.7 2018-04-30  
  .NET Core 2.1   2018-05-30 .NET Core 2.1 的新增功能
  .NET Core 2.2   2018-12-04 .NET Core 2.2 的新增功能
C# 8.0 .NET Framework 4.8 Visual Studio 2019 16.3 2019-04-18 C# 8.0 中的新增功能
  .NET Core 3.0   2019-09-23 .NET Core 3.0 的新增功能
  .NET Core 3.1   2019-12-03 .NET Core 3.1 的新增功能
C# 9.0 .NET Core 5.0   2020-11-11 .NET Core 5.0 的新增功能
C# 10.0 .NET Core 6.0 Visual Studio 2022 2021-11-09 .NET Core 6.0 的新增功能

明年就要发布.NET Core 7.0了。

阅读剩余部分

VS2019 C#怎么查看类图

什么是类图?类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。通过查看一个项目的类图,可以看到该项目中类的继承关系图,以及类中的成员概括,便于从全局上看待类的关系。

查看方式很简单:打开VS2019,找到目标项目,点击右键 → 查看 → 查看类图,就能看到下面这种图:
a.png

阅读剩余部分

VS2019用代码片段提高编码效率

打开Visual Studio,新建一个C#类页面,输入关键字for,然后连续敲击两下Tab键,就会快速创建出for循环的语法结构体。作为编程新手,自从我发现这个方法后,就一发不可收拾。现在已经无法想象,手动去写for循环的低效率了。

除了连续敲击两下Tab键,这个方式外,还有一个快捷方式,就是用Ctrl+K,S给代码块加外侧代码。比如选择一个代码块,按Ctrl+K,敲完K后,仍然按住Ctrl不放,继续敲S,就会进入引用代码片段弹窗上,选择try代码片段,就可以快速地给选中的代码块加上外侧代码try catch,非常高效。

阅读剩余部分

网站被恶意镜像后的解决思路

突然发现有一个域名,打开和自己网站一模一样,所有链接都能访问,URL目录结构都一样,页面源代码也一模一样,只有域名不同。这种情况下,很容易让人误判:自己网站被一锅端了,程序+数据都被拷贝出去,做了一个镜像站。

下面是解决思路:

一,查询了几个页面的源代码,发现里面的流量统计代码,都是一模一样的;而且每个页面,网页body中URL绝对路径中的域名被批量删了,但网页头部的js和css的URL中的域名是保留了的。

这就基本能排除自己程序+数据库被拷贝后创建镜像站的可能性,因为这像是反向代理的手法。反向代理是几乎不会把网站的资源存在自己服务器的,js和css都是引用原来网站的,所以他能很低成本地获取你的页面资源去争取收录。

阅读剩余部分

SQL中删除数据DROP、TRUNCATE和DELETE的区别

一,DROP TABLE tablename
删除内容和定义,释放空间。就是把整个表删除掉,表里的数据以及表结构一起删掉。

二,TRUNCATE TABLE tablename
删除内容、释放空间但不删除定义。
就是把表里所有数据删除,删除后,如果再新增数据,id自增字段又是从“标识种子值”开始,比如从0或者1开始自增。

三,DELETE TABLE tablename
删除内容不删除定义,不释放空间。
DELETETRUNCATE相比,最明显的就是,DELETE删除了数据,再新增数据时,id会按照之前已有的数据自增,会造成
标识列不连续。

阅读剩余部分