自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(312)
  • 收藏
  • 关注

转载 【算法】从一组数中找出和为指定值的任意组合

题目:给定的一组整数,给定一个值X,找出和为X的任意组合。思路:将X视为重量x(kg)的物品,放在天平左侧,数组中的每个数字视为重量为y(kg)的砝码,砝码从大到小逐一放置,直到天平平衡,那么选择的砝码的组合就是我们所要的答案。采用递归的方法。右侧还有x的余量放置第一个砝码后还有x-y1的余量放置第二个砝码后还有(x-y1)-y2的余量以此类推...

2019-09-20 10:47:00 3954

转载 .NET Core的依赖注入

转自【大内老A】依赖注入[1]: 控制反转依赖注入[2]: 基于IoC的设计模式依赖注入[3]: 依赖注入模式依赖注入[4]: 创建一个简易版的DI框架[上篇]依赖注入[5]: 创建一个简易版的DI框架[下篇]依赖注入[6]: .NET Core DI框架[编程体验]依赖注入[7]: .NET Core DI框架[服务注册]依赖注入[8]: .NET Core DI框架[服务消费]...

2019-09-18 17:33:00 291

转载 .Net IOC框架入门之——Autofac

一、简介Autofac是.NET领域最为流行的IOC框架之一,传说是速度最快的一个目的1.依赖注入的目的是为了解耦。2.不依赖于具体类,而依赖抽象类或者接口,这叫依赖倒置。3.控制反转即IoC (Inversion of Control),它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移...

2019-09-18 17:07:00 418

转载 .Net IOC框架入门之——Unity

一、概述  IOC:英文全称:Inversion of Control,中文名称:控制反转,它还有个名字叫依赖注入(Dependency Injection)。  作用:将各层的对象以松耦合的方式组织在一起,解耦,各层对象的调用完全面向接口。当系统重构的时候,代码的改写量将大大减少。  依赖注入:当一个类的实例需要另一个类的实例协助时,在传统的程序设计过程中,通常有调用者来创建被调...

2019-09-18 16:56:00 240

转载 .Net IOC框架入门之——CastleWindsor

一、简介Castle是.net平台上的一个开源项目,为企业级开发和WEB应用程序开发提供完整的服务,用于提供IOC的解决方案.IOC被称为控制反转或者依赖注入(Dependency Injection)。Windsor是Castle的一个IOC容器。它构建于MicroKernel之上,功能非常之强大,能检测类并了解使用这些类时需要什么参数,检测类型和类型之间工作依赖性,并提供服...

2019-09-18 16:50:00 195

转载 Castle.Windsor依赖注入的高级应用_Castle.Windsor.3.1.0

1. 使用代码方式进行组件注册【依赖服务类】using System;using System.Collections.Generic;using System.Linq;using System.Text;using CastleDemo.Lib;using Castle.Windsor;using Castle.Windsor.Configuratio...

2019-09-18 16:38:00 265

转载 详解C# Tuple VS ValueTuple(元组类 VS 值元组)

回顾TupleTuple是C# 4.0时出的新特性,.Net Framework 4.0以上版本可用。元组是一种数据结构,具有特定数量和元素序列。比如设计一个三元组数据结构用于存储学生信息,一共包含三个元素,第一个是名字,第二个是年龄,第三个是身高。元组的具体使用如下:1. 如何创建元组默认情况.Net Framework元组仅支持1到7个元组元素,如果有8个元...

2019-09-18 14:58:00 131

转载 C# 调用JS Eval,高效率

/// <summary>/// 动态计算表达式/// </summary>class JSCaller{ /// <summary> /// 动态计算表达式 /// </summary> function Eval(expression: String) { ...

2019-09-08 16:07:00 436

转载 Linq表连接大全(INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN、CROSS JOIN)

1、先创建两个表Group、User,两表的关系是N:N 1 CREATE TABLE [dbo].[Group]( 2 [Id] [int] IDENTITY(1,1) NOT NULL, 3 [GroupName] [nvarchar](50) NULL, 4 CONSTRAINT [PK_Group] PRIMA...

2019-09-08 10:36:00 332

转载 C# LINQ干掉for循环

public void OldSum(){ int sum0 = 0; for (int i = 0; i < 10; i++) { sum0 += i; } Assert.AreEqual(45, sum0);}public void NewSum(){ int sum1 ...

2019-09-06 22:51:00 333

转载 C# 彻底搞懂async/await

前言Talk is cheap, Show you the code first!private void button1_Click(object sender, EventArgs e){ Console.WriteLine("111 balabala. My Thread ID is :" + Thread.CurrentThread.ManagedThr...

2019-07-15 22:34:00 305

转载 .NET中的异步编程——动机和单元测试

背景自.NET 4.5发布以来已经有很长一段时间了。留在了我们的记忆里,其发布在2012年8月15日。是的,六年前。感觉老了吗?好吧,我不打算让你做出改变,而是提醒你一些.NET发布的亮点。此版本带来的主要功能之一是使用async / await方法进行异步编程。基本上,微软的团队通过保持类似于同步代码的逻辑结构,使编译器完成开发人员过去经常做的工作。你看,在那个时候,Windo...

2019-07-15 22:17:00 112

转载 .NET中的异步编程——常见的错误和最佳实践

在这篇文章中,我们将通过使用异步编程的一些最常见的错误来给你们一些参考。背景在之前的文章《.NET中的异步编程——动机和单元测试》中,我们开始分析.NET世界中的异步编程。在那篇文章中,我们担心这个概念有点误解,尽管从.NET4.5开始它已经存在了超过6年时间。使用这种编程风格,更容易编写响应式应用程序,这些应用程序都是异步的、非阻塞I / O操作的。这都是通过使用async/a...

2019-07-15 22:10:00 171

转载 C# 实用代码段

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;...

2019-07-01 11:04:00 174

转载 C# Task详解

1、Task的优势  ThreadPool相比Thread来说具备了很多优势,但是ThreadPool却又存在一些使用上的不方便。比如:  ◆ ThreadPool不支持线程的取消、完成、失败通知等交互性操作;  ◆ ThreadPool不支持线程执行的先后次序;  以往,如果开发者要实现上述功能,需要完成很多额外的工作,现在,FCL中提供了一个功能更强大的概念:Task。Task在...

2019-06-25 14:45:00 263

转载 C# Newtonsoft.Json 你必须知道的一些用法

  最近在做接口开发,对方团队开发了一个Web API 的接口,传输数据的格式是 JSON。当时看到这个东西,感觉很简单,也没想什么,没用多久就完成了我的功能,我完成的功能很简单,就是获取数据,然后把数据列表进行 JSON 序列化,然后再以 POST 方式调用对方 Web Api 的接口,将 JSON 的数据一起传递过去,我想的很简单,直接调用并返回结果就完成了。最后对方接口返回错误,提...

2019-06-24 16:28:00 670

转载 C# 设计模式之总结篇

一、引言 C#版本的23种设计模式已经写完了,现在也到了一个该总结的时候了。说起设计模式,我的话就比较多了。刚开始写代码的时候,有需求就写代码来解决需求,如果有新的需求,或者需求变了,我就想当然的修改自己的代码来满足新的需求,这样做感觉是理所当然的,也没感觉有什么不妥的地方。写了两年多代码,偶尔一次,听说了设计模式,据听说设计模式就是软件界的“独孤九剑”,学会之后就可以天下无...

2019-06-24 16:04:00 138

转载 UML总结

UML图中类之间的关系类与类图1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法)。3) 类...

2019-06-24 14:44:00 329

转载 C#下利用封包、拆包原理解决Socket粘包、半包问题(新手篇)

介于网络上充斥着大量的含糊其辞的Socket初级教程,扰乱着新手的学习方向,我来扼要的教一下新手应该怎么合理的处理Socket这个玩意儿。一般来说,教你C#下Socket编程的老师,很少会教你如何解决Socket粘包、半包问题。更甚至,某些师德有问题的老师,根本就没跟你说过Socket的粘包、半包问题是什么玩意儿。直到有一天,你的Socket程序在传输信息时出现了你预期之外的结果(多于的...

2019-06-19 10:52:00 923

转载 C# Socket系列三 socket通信的封包和拆包

通过系列二 我们已经实现了socket的简单通信 接下来我们测试一下,在时间应用的场景下,我们会快速且大量的传输数据的情况! class Program { static void Main(string[] args) { TCPListener tcp = new TCPListener...

2019-06-19 10:44:00 268

转载 C# Socket系列二 简单的创建 socket 通信

看了系列一 我们开启了对socket tcp的监听状态,那么这一章我们来讲解怎么创建socket的通信代码我新建一个类TSocketBasepublic abstract class TSocketBase{ //封装socket internal Socket _Socket; //回调 private AsyncCallbac...

2019-06-19 10:23:00 121

转载 C# Socket系列一 简单的创建socket的监听

socket的应用场景,在快速,稳定,保持长连接的数据传输代码。Http也是socket封装出来的,基于一次请求一次回复,然后断开的socket连接封装。比如我们常见的游戏服务器,目前的很火的物联网服务器,都需要开启socket服务器去监听实时传输的数据。那么我们如何实现socket的监听呢。说到这里,我们需要知道,socket的监听分为tcp和udp两种形式,但是tcp其实是u...

2019-06-19 10:18:00 325

转载 C# EventHandler观察者模式

C#和java比较: java中使用的是接口。C#使用委托机制,可以用时 + 运算符进行注册,直接多播。 而java中是一般是使用一个集合来保存观察者。发布者(Publisher)= 被观察者 (Observable) = 事件源(java中的EventObject,C#中的sender)订阅者(Subscriber)=观察者(Observer) = 接收者(java中继承E...

2019-06-17 21:29:00 167

转载 MemCache超详细解读

摘要:MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。MemCache是什么?MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取...

2019-05-15 22:36:00 105

转载 C# MemcacheHelper封装

using Memcached.ClientLibrary;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; namespace HOPU.Common{ publi...

2019-05-15 22:27:00 122

转载 最常用的15个前端表单验证JS正则表达式

1 用户名正则//用户名正则,4到16位(字母,数字,下划线,减号)var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;//输出 trueconsole.log(uPattern.test("caibaojian")); 2 密码强度正则//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符...

2019-05-15 13:57:00 101

转载 JQuery Validate使用总结

一、导入js库<script src="../js/jquery.js" type="text/javascript"></script><script src="../js/jquery.validate.js" type="text/javascript"></script>二、默认校验规则(1)required...

2019-05-15 13:15:00 71

转载 .NET常用开发框架汇总

分布式缓存框架:Microsoft Velocity:微软自家分布式缓存服务框架。Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度。Redis:是一个高性能的KV数据库。 它的出现很大程度补偿了Memcached在某些方面的不足。EnyimMemcached:访问Memcached最优秀的.NET客户端,集成不错的分布式均衡算法。开源的.NET系统推荐:...

2019-04-24 23:01:00 307

转载 NPOI 图片在单元格等比缩放且居中显示

NPOI导出的图片默认是在单元格左上方,这使得图片在单元格显示得很难看。居中,且等比缩放,才是图片在单元格上的完美展示。/// <summary>/// 图片在单元格等比缩放居中显示/// </summary>/// <param name="cell">单元格</param>/// <param name...

2019-04-23 08:56:00 1612

转载 LINQ标准查询操作符(五)

十二、相等操作符如果两个序列的对应元素相等且这两个序列具有相同数量的元素,则视这两个序列相等。SequenceEqual方法通过并行地枚举两个数据源并比较相应元素来判断两个序列是否相等。如果两个序列完全相等,返回true,否则返回false。以下代码是SequenceEqual方法的实现过程:public static bool SequenceEqual<TS...

2019-04-12 20:08:00 78

转载 LINQ标准查询操作符(四) —AsEnumerable,Cast,OfType,ToArray,ToDictionary,ToList,ToLookup,First,Last,ElementAt...

十、转换操作符转换操作符是用来实现将输入对象的类型转变为序列的功能。名称以“As”开头的转换方法可更改源集合的静态类型但不枚举(延迟加载)此源集合。名称以“To”开头的方法可枚举(即时加载)源集合并将项放入相应的集合类型。1. AsEnumerable所有实现了IEnumerable<T>接口的类型都可以调用此方法来获取一个IEnumerable<T>...

2019-04-12 20:07:00 519

转载 LINQ标准查询操作符(三)——Aggregate、Average、Distinct、Except、Intersect、Union、Empty、DefaultIfEmpty、Range、Repeat...

七、聚合操作符聚合函数将在序列上执行特定的计算,并返回单个值,如计算给定序列平均值、最大值等。共有7种LINQ聚合查询操作符:Aggregate、Average、Count、LongCount、Max、Min和Sum。1. AggregateAggregate操作符对集合值执行自定义聚合运算。例如,需要列出所有产品类别清单,每个类别名称之间用顿号连接。以下的代码演示了这一过程...

2019-04-12 20:06:00 202

转载 LINQ标准查询操作符(二)——Join、GroupJoin、GroupBy、Concat、

四、联接操作符联接是指将一个数据源对象与另一个数据源对象进行关联或者联合的操作。这两个数据源对象通过一个共同的值或者属性进行关联。LINQ有两个联接操作符:Join和GroupJoin。1. JoinJoin操作符类似于T-SQL中的inner join,它将两个数据源相联接,根据两个数据源中相等的值进行匹配。例如,可以将产品表与产品类别表相联接,得到产品名称和与其相对应...

2019-04-12 20:04:00 210

转载 LINQ标准查询操作符(一)——select、SelectMany、Where、OrderBy、OrderByDescending、ThenBy、ThenByDescending和Reverse...

一、投影操作符1. SelectSelect操作符对单个序列或集合中的值进行投影。下面的示例中使用select从序列中返回Employee表的所有列: //查询语法 var query = from e in db.Employees where e.FirstName.StartsWith("M") ...

2019-04-12 20:02:00 410

转载 LINQ GroupBy

一、先准备要使用的类:1、Person类: class Person { public string Name { set; get; } public int Age { set; get; } public string Gender { set; get; } public ov...

2019-04-12 20:00:00 122

转载 C# EF使用SqlQuery直接操作SQL查询语句或者执行过程

Entity Framework是微软出品的高级ORM框架,大多数.NET开发者对这个ORM框架应该不会陌生。本文主要罗列在.NET(ASP.NET/WINFORM)应用程序开发中使用Entity Framework直接执行SQL语句或者存储过程的一些代码片段。具体请见以下正文:1.使用SqlQuery在已知的实体上执行SQL查询语句using (var context = ...

2019-04-12 09:49:00 1782

转载 C# Linq to Entity 多条件 OR查询

技术背景:框架MVC,linq to Entity 需要一定的lambda书写能力问题:在简单的orm中完成一些简单的增删查改是通过where insert delete update 完成的,但是在这个过程中出现了一个需求:多项条件的and 和or 的组合查询众所周知直接通过linq 写的话很方便,但是我们的框架使用了linq to entity,如果只用lambda来写比较复...

2019-04-04 22:05:00 897

转载 C# 执行DOS命令和批处理

在项目开发中,有时候要处理一些文件,比如视频格式的转换,如果用C开发一套算法,再用C#调用,未免得不偿失!有时候调用现有的程序反而更加方便。今天就来说一下C#中如何调用外部程序,执行一些特殊任务。这里演示调用cmd.exe,即我们常用的DOS。下面来看代码:using System;using System.Collections.Generic;using Sy...

2019-03-28 08:47:00 117

转载 C# 将DataTable数据源转换成实体类

using System;using System.Collections.Generic;using System.Data;using System.Reflection;/// <summary>/// 将DataTable数据源转换成实体类/// </summary>/// <typeparam name="T"&...

2019-03-27 12:46:00 658

转载 MYSQL 企业常用架构与调优经验分享

一、选择Percona Server、MariaDB还是MYSQLmysql应用源码:http://www.jinhusns.com/Products/Download/?type=xcj1、Mysql三种存储引擎MySQL提供了两种存储引擎:MyISAM和 InnoDB,MySQL4和5使用默认的MyISAM存储引擎。从MYSQL5.5开始,MySQL已将默认存储引擎从...

2019-03-24 15:20:00 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除