摘要:
为了让.Net中的值类型可以赋值为null,微软特地添加了Nullable<T>类型,也可简写为T?。但是Nullable<T>自身是结构体,也是值类型,那么它是如何实现将null赋值给值类型的呢? 下面通过自定义一个可空值类型来讲解Nullable<T>的实现原理。 自定义可空值类型 一个可空值类 阅读全文
摘要:
本文为翻译文章,原文:Packages, Metapackages and Frameworks .NET Core是一个由NuGet包组成的平台。一些产品受益于细粒度包的定义,也有一些受益于粗粒度包的定义。为了适应这种二重性,.NET Core平台被分为一组细粒度的包(package)以及一些被称 阅读全文
摘要:
对于大量数据的查询和展示使用分页是一种不错的选择,这篇文章简要介绍下自己实现分页查询的思路。 分页需要三个变量:数据总量、每页显示的数据条数、当前页码。 根据数据总量和每页显示的数据条数计算出总页数,根据当前页码和每页显示的数据条数计算出从数据库中读取数据的起始行号和结束行号。 对于数据库的查询操作 阅读全文
摘要:
引言 接口和抽象类是面向对象编程(OOP, Object Oriented programming)中两个绕不开的概念,二者相似而又有所不同。接下来,我们来了解二者的概念并比较它们的异同。 什么是抽象类型? 抽象类是一种特殊的类,该类不能被实例化。抽象类的存在就是为了被继承,即抽象类可以被其它类继承 阅读全文
摘要:
我们使用H5可以很容易的实现图片上传前对其进行预览的功能 Html代码如下: 实现预览功能的js代码如下: 最后注意一点,H5实现图片预览只能使用原生JS进行DOM元素的操作,若使用jQuery则无法实现该效果。 参考文章: H5中的File对象H5中的FileList对象H5中的FileReade 阅读全文
摘要:
作为一个后端程序员,也是要和前端页面打交道的。最常见的场景莫过DOM元素操作和前端页面使用AJAX向服务器发送请求。实现上述两个功能当然可以使用原生js来完成,但在实际开发过程中很少这样做,通常会使用一些别人封装好的js库来辅助我们的工作,jQuery就是这些辅助库中的一员。 常用选择器 //操作多 阅读全文
摘要:
JavaScript内置函数random(seed)可以产生[0,1)之间的随机数,若想要生成其它范围的随机数该如何做呢? 生成任意范围的随机数 //生成[100,120)之间的随机数 Math.floor(Math.random() * 20+100); 大于等于100小于120的随机数: 我们还 阅读全文
摘要:
功能需求 先说说自己的实现思路: 实现 首先创建一个接口,用于约束水印的创建方式: 具体实现: public class Watermark : IWatermark { //水印画布 protected virtual Rectangle WatermarkCanvas { set; get; } 阅读全文
摘要:
类 Python中,类的命名使用帕斯卡命名方式,即首字母大写。 Python中定义类的方式如下: 省略父类名表示该类直接继承自object,类的实例化如下: __init__()是类的构造函数,在实例化时调用,它的参数self表示类实例。 类中的字段 字段的访问级别: Python中以双下划线开头的 阅读全文
摘要:
使用H5+ASP.NET General Handler开发项目,使用ajax进行前后端的通讯。有一个场景需求是根据服务器返回的不同数据类型,前端进行不同的响应,这里记录下如何使用$.ajax实现该需求。 参考文章: Ajax Content Type Handling in jQueryjQuer 阅读全文