.NET Core 3.x和.NET Standard 2.1支持C# 8.0. 一.Readonly 成员 可将 readonly 修饰符应用于结构的成员,来限制成员为不可修改状态.这比在C# 7.2中将 readonly 修饰符仅可应用于 struct 声明更精细. public struct Point { public double X { get; set; } public double Y { get; set; } public double Distance => Math.S…
一.记录(record) C# 9.0 引入了记录类型. 可使用 record 关键字定义一个引用类型,以最简的方式创建不可变类型.这种类型是线程安全的,不需要进行线程同步,非常适合并行计算的数据共享.它减少了更新对象会引起各种bug的风险,更为安全.System.DateTime 和 string 也是不可变类型非常经典的代表. 与类不同的是,它是基于值相等而不是唯一的标识符--对象的引用. 通过使用位置参数或标准属性语法,可以创建具有不可变属性的记录类型,整个对象都是不可变的,且行为像一个值…
C# 7.0 版是与 Visual Studio 2017 一起发布. 虽然该版本继承和发展了C# 6.0,但不包含编译器即服务. 一.out 变量 以前我们使用out变量必须在使用前进行声明,C# 7.0给我们提供了一种更简洁的语法 "使用时进行内联声明" .如下所示: var input = ReadLine(); if (int.TryParse(input, out var num))//可直接写明变量的类型也可以写隐式类型,因为out关键字修饰的一定是局部变量 { Write…
C# 6.0 是在 visual studio 2015 中引入的.此版本更多关注了语法的改进,让代码更简洁且更具可读性,使编程更有效率,而不是和前几个版本一样增加主导性的功能. 一.静态导入 我们都知道,静态类中的方法是直接通过类名引用的. 例如:(Math 是系统自带的静态类,在程序中可以直接引用) var num = Math.Sqrt(3*3 + 4*4);//取给定值的平方根 新写法:(分两步) using static System.Console; using static Sys…
该文主要介绍如何借助iTextSharp在C# 2.0中制作PDF文件,本文的架构大致按照iTextSharp的操作文档进行翻译,如果需要查看原文,请点击一下链接:http://itextsharp.sourceforge.net/tutorial/ 一. iTextSharp的介绍和下载 (1)用户可以浏览官网进行查看:http://itextsharp.sourceforge.net/index.html iText# (iTextSharp) is a port of the iText…
1.  IsAssignableFrom实例方法 判断一个类或者接口是否继承自另一个指定的类或者接口. public interface IAnimal { } public interface IDog : IAnimal { } public class Dog : IDog { } public class Cate : IAnimal { } public class Parrot { } var iAnimalType = typeof(IAnimal); var iDogType =…
六 WCF4.0中的简化配置功能 WCF4.0为了简化服务配置,提供了默认的终结点.绑定和服务行为.也就是说,在开发WCF服务程序的时候,即使我们不提供显示的 服务终结点,WCF框架也能为我们的服务提供一些默认配置功能的服务终结点.当然也包含默认的绑定和默认的服务行为.这一切都是为了简化配置过程,避免一 些不必要的错误. 下面我们就来通过代码示例来体验一下WCF4.0提供简化配置的功能. (1)默认终结点 默认终结点(Default Endpoints)指的是,如果开发人员没有为服务显示配置服务…
为现有图像处理程序添加读取exif的功能 exif是图片的重要参数,在使用过程中很关键的一点是exif的数据能够和图片一起存在.exif的相关功能在操作系统中就集成了,在csharp中也似乎有了实现.但是使用mfc来实现这个功能,的确费了我的一些时间.下面是我的实现方式. 读取exif,参考了网络资料 添加cexif.h和cexif.cpp,添加入现有程序 在需要读取的地方添加相关代码   FILE* hFile=fopen(FilePathName.c_str(),"rb"); if…
微信小程序0.11.122100版本新功能解析   新版本就不再吐槽了,整的自己跟个愤青似的.人老了,喷不动了,把机会留给年轻人吧.下午随着新版本开放,微信居然破天荒的开放了开发者论坛.我很是担心官方能不能承受住开发者的愤怒. 还好,小龙兄很聪明,发帖要审核.我就在帖子里反馈了下bug,顺便劝了下腾讯,做不好小程序还是去卖皮肤吧.10秒钟后帖子就被封了. 群里有同学问,你不是说要大家支持小程序么,毕竟是国人这么多年唯一有点儿希望比肩iOS和Android生态的平台.当然要支持.但该喷的还是得喷,…
添加相关文章功能相当有用,移植一个过来基本上可以实现比较复杂的页面内包含分类功能,做二次开发时可以省下不少力气. 用例:如果一个产品,属于一个厂家,而这个厂家是动态添加的,既不是一个分类,而是一个厂家的模型,这二者关联的时候使用这个添加相关的功能可以轻易实现. 学会使用phpcms中的类别管理和推荐位管理基本上可以满足文章管理的多数场景,如果能够理解mysql表的设计,可以使用模型管理这个大杀器, 基本上能够想到的功能都能实现,最后再对[添加相关文章]功能进行设计和移植,模型功能能够再次爆发威力…