先说一下个人理解的结论吧:delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类。delegate声明的变量与delegate声明的事件,并没有本质的区别,事件是在delegate声明变量的基础上包装而成的,类似于变量与属性的关系(在IL代码中可以看到每一个delegate声明的事件都对应是私有的delegate声明的变量),提升了安全性。Action 与Func:这两个其实说白了就是系统定义好的Delegate,他有很多重载的方法,便于各种应...
16.1 更多集合接口16.1.1 IList<T>与IDictionary<TKey,TValue>16.1.2 ICollection<T>16.2 主要集合类16.2.1 列表集合:List<T>16.2.2 全序16.2.3 搜索List<T>16.2.4 字典集合:Dictonary<TKey,TValue>16.2.5 已排序集合:SortedDictionary<TKey,TValue>和SortedList<T>16.2.6 栈集合:Stack<T>16.2.7 队列集合:Queue<T>16.2.8 链表:LinkedList<T>16.3 提供索引器16.4 返回null或者空集合16.5 迭代器16.5.1 迭代器的定义16.5.2 迭...
首先,MongoDB中返回指定的字段的查询方法如下:db.person.find({Name:"小丑"},{Age:1,Sex:1})该语句表示:查询person表中name为小丑的所有数据,但是只返回age列和sex列。(_id列是默认返回的,设为0表示不返回) 在C#中操作MongoDB,代码如下: FieldsDocument fd = new FieldsDocument();fd.Add("Age",1);fd.Add("Sex",1); //只返回Name和Sex列return Collection.Find(query).SetSortOrder(s).SetFields(fd).AsQuerya...
一、前言 本章节主要是探索 C# 的基本类型,一直以来我本人常用都是 int 、double、bool、decimal、string 这五个类型,其对其它类型没有认真了解过。只是以前在学习的时候背了些,如 int 占几个字节呀,现在都模糊了。我现在想成为一名 C# 的架构师,因此关于 C# 的类型这块,我得自己花时间去了解,去实践。以下就是我实践的结果,对于实践的结果如果不正确的,欢迎在下方评论,我会第一时间查缺补漏。先谢谢大家!!! 学...
今天因为业务问题需要自己写一个win服务,但是本地执行的时候一直执行不成,报错.琢磨许久发现2个问题.1.当注册程序.bat执行的时候需要用管理员身份执行2.执行的时候源程序exe的路径需要加上当前路径. 注册服务:%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe %~dp0/XXXXX.exe echo %cd% Net Start SyncService sc config SyncService start= auto pause 删除服务:%SystemRoot%\Microsoft.NET\Framework\v4.0.30...
新建一个类,实现IEqualityComparer接口。注意GetHashCode方法的实现,只有HashCode相同才会去比较 public class Compare:IEqualityComparer<Student>{public bool Equals(Student x,Student y){return x.Id == y.Id;//可以自定义去重规则,此处将Id相同的就作为重复记录,不管学生的爱好是什么}public int GetHashCode(Student obj){return obj.Id.GetHashCode();}}调用:list.Distinct(new Compare()).ToList().ForEach(s => ...
textBox用法总结:1 去掉边框 【注:this = textBox】 this.BorderStyle = System.Windows.Forms.BorderStyle.None;2 设置字体 this.Font = new System.Drawing.Font(this.Font.Name, 11);3 设置光标 this.Focus();//光标移动到当前textBox中 this.SelectAll(); //选中所有内容 this.SelectionStart = this.Text.Length;///设置光标在末尾 4 设置大小 this.Size = new System.Drawing.Size(30, 25);5 设置最大字符个数 this.MaxLeng...
第一步:通过NuGget包下载安装FluentScheduler包第二步:在全局配置文件Global.asax中注册定时任务,方法如下using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Http; using System.Web.Routing; using FluentScheduler;namespace LampProject {publicclass WebApiApplication : System.Web.HttpApplication{protectedvoid Application_Start(){//注册定时任务JobManager.Ini...
Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送速度快,代码简单易懂上手快浏览器兼容性:GoEasy推送支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari 等等。支持不同的开发语言: GoEasy推送提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过RestfulAPI来实现后台实时推送...
1字符串与时间的互转DateTime.TryParse将空字符串、为null或格式不正确,则转换为的DateTime所代表的值为:0001/1/1 0:00:00,此为DateTime.MinValue的值。使用public static DateTime ParseExact(string s, string format, IFormatProvider provider);实例方法转换时间,可以指定转换的格式。其中format为输入字符s的格式。若指定的格式与输入字符格式不一样,会抛异常例如://dateTime ="2017-11-18 17:25:53";会抛异常,这种类型...
TempContent 表示包含有html的字符串; TempContent = System.Text.RegularExpressions.Regex.Replace(TempContent,"<[^>]+>","");至少一个 TempContent = System.Text.RegularExpressions.Regex.Replace(TempContent,"<[^>]*>","");任意个 原文:http://www.jb51.net/article/2465.htm
1、HTMLHyper Text Markup Language 超文本标记语言在HTML当中存在着大量的标签,我们用HTML提供的标签,将要显示在网页中的内容包含起来。就构成了我们的网页。CSS:控制网页内容显示的效果HTML+CSS=静态网页。只有展示功能JS+Jquery=动态内容由HTML决定,长成什么样由CSS决定2、开始动手写HTML页面1)、首先在桌面上随便的建一个文件。 2)、将创建的文件的名称改为.htm/.html3)、开始写基本的框架标签<html> <head> <tit...
原文:C#设计模式之六适配器模式(Adapter Pattern)【结构型】一、引言 从今天开始我们开始讲【结构型】设计模式,【结构型】设计模式有如下几种:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。【创建型】的设计模式解决的是对象创建的问题,那【结构型】设计模式解决的是类和对象的组合关系的问题。今天我们就开始讲【结构型】设计模式里面的第一个设计模式,中文名称:适配器模式,英文名称:Ada...
1.引用Nuget包 ServiceStack.Redis我这里就用别人已经封装好的Reids操作类来和大家一起参考了下,看看怎么使用ServiceStack.Redis 操作RedisRedisConfigInfo--redis配置文件信息///<summary>/// redis配置文件信息/// 也可以放到配置文件去///</summary>publicsealedclass RedisConfigInfo{///<summary>/// 可写的Redis链接地址/// format:ip1,ip2////// 默认6379端口///</summary>publicstring WriteServerList = "127.0.0.1:6379...
// 创建DataTable DataTable subOrderInfo = new DataTable(); // 数据库拉取数据 subOrderInfo = bll.GetSql("select * from table where order_no = ‘" + orderNo + "‘"); // 记录条数int subCount = subOrderInfo.Rows.Count; // 遍历for (int i = 0; i < subCount; i++) {// 读取记录的下标subOrderInfo.Rows[i]["goods_name"];subOrderInfo.Rows[i]["price"]; } 1原文:https://www.cnblogs.com/Skate0rD...