C#
易兒善
坚持终身学习,遇见更好的自己
展开
-
递归与List<>
数组、ArrayList和List三者的区别数组数组在C#中最早出现的。在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单。string[] s=new string[2]; //赋值 s[0]="a"; s[1]="b"; //修改 s[1]="a1"; 但是数组存在一些不足的地方。在数组的两个数据间插入数据是很麻烦的,而且在声明数组的时候必须转载 2016-04-12 23:20:54 · 1152 阅读 · 0 评论 -
设计模式- 抽象工厂(Abstract Factory)
意图抽象工厂(Abstract Factory)模式意图:为创建一组相关或相互依赖对象提供了一个接口,而且无需指定它们的具体类。抽象工厂可以向客户提供一个接口,是客户可以在不必指定产品具体类型的情况下,创建多个产品家族中的产品对象,它强调的系列对象的变化。C#例子 public abstract class Product { public abstrac...原创 2019-04-24 16:28:43 · 257 阅读 · 0 评论 -
设计模式- 桥接模式(Bridge Pattern)
##定义桥接模式的用意是将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化。当一个抽象可能有多个实现时,通常用继承来进行协调。抽象类定义对该抽象的接口,而具体的子类则用不同的方式加以实现。继承机制将抽象部分与它的实现部分固定在一起,使得难以对抽象部分和实现部分独立地进行修改、扩充和重用。如果一个抽象类或接口有多个具体实现子类,而这些子类...原创 2019-04-28 15:10:56 · 362 阅读 · 0 评论 -
设计模式- 适配器模式 (Adapter Pattern)
定义适配器模式是通过一个类的接口转换成客户希望的另外一个接口,使原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器从结构上可以分为类适配器和对象适配器。其中类适配器使用继承关系来对类进行适配,而对象适配器是使用对象引用的方法来进行适配的。C#例子 public interface ITarget { void Request(); } ...原创 2019-04-28 15:10:04 · 455 阅读 · 0 评论 -
设计模式- 原型模式(Prototype Pattern)
定义原型模式(Prototype Pattern):指定使用原型实例创建的对象类型,并通过复制此原型创建新对象。C#例子 [Serializable] public class Sheep : ICloneable { public string Name { get; set; } public List<Sheep> ...原创 2019-04-26 09:50:44 · 265 阅读 · 0 评论 -
设计模式- 建造者模式(Builder Pattern)
定义建造者模式(Builder Pattern):将复杂对象的构造与其表示分离,以便相同的构造过程可以创建不同的表示。主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。想象一个角色扮演游戏的角色生成器。最简单的选择是让计算机为您创建角色。...原创 2019-04-26 09:49:33 · 243 阅读 · 0 评论 -
.net core 项目中几款常用类库收藏
汉字转拼音1、 HxfPinYin 这是我自己根据网上大神提供的源码,再。net core 框架下编译出的类库主要提供汉字转拼音的功能。 使用 public static class Pinyin { public static string ConvertEncoding(string text, Encoding src...原创 2018-04-25 08:47:23 · 4142 阅读 · 0 评论 -
DotNetCore.2.0.0 asp.net项目部署报错HTTP 错误 500.19 - Internal Server Error解决办法
找了很久,发现是没有装DotNetCore.2.0.0-WindowsHosting.exe的原因。 还是官方文档最给力。部署时遇到问题的朋友可以参考官方文档 https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x原创 2017-11-23 09:01:31 · 8013 阅读 · 1 评论 -
ABP框架学习之——AutoMapper。
网上关于abp框架的学习的文章很多。本文大部分也是摘自其他作者的文章。 官方api文档:https://aspnetboilerplate.com/api-docs/html/N_Abp_AutoMapper.htm简单说一下什么是AutoMapper? AutoMapper是一个对象和对象间的映射器。对象与对象的映射是通过转变一种类型的输入对象为一种不同类型的输出对象工作转载 2017-10-19 10:37:27 · 2877 阅读 · 0 评论 -
ABP框架学习之——数据校验
校验介绍 一个应用的输入应该首先要验证。这个输入可以是用户的输入,也可以是另一个应用的输入。在一个Web应用中,验证通常要实现2次:第一次是客户端验证,第二次是服务端验证。客户端的验证是为了更好的用户体验,通过检测表单的字段来提醒用户必须的字段;服务端的验证是更严格且无法避免的。 服务端的验证是在应用服务层实现的。应用服务方法应该首先检查(验证)输入然后在使用。ABP提供了一个不错的基础设原创 2017-10-24 08:46:16 · 2709 阅读 · 0 评论 -
使用.net core ABP和Angular模板构建博客管理系统(创建后端服务)
如何创建.net core ABP和Angular模板可以参考我的这篇文章:http://blog.csdn.net/yiershan1314/article/details/78219322创建实体如下所示项目下创建blog/notes文件夹,并加入我们的实体文件/// <summary> /// 文章信息 /// </summary> public class Note原创 2017-10-18 18:08:49 · 4734 阅读 · 0 评论 -
ReportViewer + RDLC 实现排版分页
使用rdlc控件中的矩形就能实现分页。下面看看具体操作。 1、添加矩形 2、设置矩形属性,这里就稍微阅读下属性内容就会获得想要的 3、把你想要在一个页面里面显示的内容放在这个矩阵里面就可以了。 注意: 矩阵和主体的宽度,不然导出pdf等文件时会自动分成两页或多页显示,有时还会莫名出现空白页面。原创 2017-07-13 08:53:52 · 9683 阅读 · 1 评论 -
Linq语句实现(INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN、CROSS JOIN)
首先建立三张表如下:分别加入数据如下:内连接 INNER JOINsql:SELECT [t0].[Id], [t0].[Name], [t1].[GroupName], [t2].[Salary] AS [Content]FROM [User] AS [t0]INNER JOIN [Group] AS [t1] ON [t0].[GroupId] = ([t1].[Id])INNER JOI原创 2017-06-01 14:12:01 · 4290 阅读 · 0 评论 -
C#常用于验证的正则表达式
虽然不懂正则表达式,但是用起来真是很方便。虽然记不得那么表达式,但是把常用的封装起来,以后直接拿来用,还是相当不错的。 首先需要引用using System.Text;using System.Text.RegularExpressions;总结了下常用的表达式如下: public class Validate { private static Regex RegNumb原创 2017-03-31 22:10:43 · 3985 阅读 · 0 评论 -
C# 反射通过类名实例化类
在面向对象编程的时候,会遇到这样的问题,一个父类有多个子类,需要创建一个父类的对象,再后面根据条件去把该对象实例化具体的某个子类,然后进行操作。当然用if else 或者switch来做也可以,但是后期扩展性不好,特别是要把这些类封装成dll提供给被人用,更不合适了。这时候反射就提供了很好的解决方案。使用也很方便。首先需要引入命名空间using System.Reflection;加载程序集原创 2016-07-15 11:23:50 · 17915 阅读 · 1 评论 -
C#制作简单的看门狗程序
C#制作简单的看门狗程序这个类实现了程序退出能重启,但是程序停止运行弹出对话框,进程并没有退出却无法重启。希望有好建议处理这个bug的朋友提出你们的宝贵意见。 源码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics;usi原创 2016-05-31 23:45:30 · 5114 阅读 · 0 评论 -
c#结构体和byte[]之间的转换
/// <summary> /// 结构体转化成byte[] /// </summary> /// <param name="structure"></param> /// <returns></returns> public static Byte[] StructToBytes(Object structure) { Int32 s转载 2016-04-11 22:47:51 · 4896 阅读 · 2 评论 -
设计模式- 单例模式(Singleton Pattern)
定义(单例模式又称单件模式)单件模式(Singleton Pattern)要求一个类有且仅有一个实例,并且提供了一个全局的访问点,在同一时刻只能被一个线程所访问。单件类只能有一个实例。单件类必须自身创建唯一实例。单件类必须给所有其它对象提供唯一实例。C#例子 /// <summary> /// 单件模式实现方式:简单线程安全。 /// <...原创 2019-04-25 10:44:02 · 188 阅读 · 0 评论