2017年9月23日

C#桌面框架版本及其组件

摘要: C#桌面框架版本及其组件 日期 框架 Visual Studio C# CLR 2002年2月 1.0 2002 1.0 1.0 2003年4月 1.1 2003 1.2 1.1 2005年11月 2.0 2005 2.0 2.0 2006年... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(529) 评论(0) 推荐(0)

C# Stream使用

摘要: C# Stream使用流(Stream)是.NET Framework为程序提供的读写数据的方法。每个流都是抽象类Stream的子类,已经内置类很多流类用来完成不同的工作Stream–>FileStream读写文件 Stream–>MemoryStream读写内存块数据 Stream... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(636) 评论(0) 推荐(0)

C# Stack使用

摘要: C# Stack使用使用场合如果总想使用最近存储的对象,使用Stack(栈),例如: - 放在卡车后面的家具 - 一摞书想看最近增加的书和List相比Queue的特点不能按任意索引增加或删除项增加对象时要压入(push)删除对象时要弹出(pop)代码示例using System;us... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(280) 评论(0) 推荐(0)

C# Queue使用

摘要: C# Queue使用使用场合如果所存储的第一个对象正是要使用的第一个对象,就要使用Queue(队列),例如: 沿着单向街道行进的车流排队的人不挂机等候客户支持热线服务的客户所有按先来先服务原则处理的情况和List相比Queue的特点不能按任意索引增加或删除项增加对象时要入队(enq... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(537) 评论(0) 推荐(0)

C# foreach使用

摘要: C# foreach使用当集合实现 IEnumerable接口时,可以使用foreach循环处理改集合中的内容。原理using System;namespace 遍历{ internal class Program { private static void... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(89) 评论(0) 推荐(0)

C# 实现List实例中实例元素的排序

摘要: C# 实现List实例中实例元素的排序实现List实例中元素的排序除了有一下两种较好的实现途径:使需要排序的类实现IComparable接口;创建需要排序的类的一个实现ICompare接口的新类,将新类的实例传入到List.Sort(newOject)方法中。代码示例:实现IComp... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(539) 评论(0) 推荐(0)

C# 关键字const和readonly对比

摘要: C# 关键字const和readonly对比二者区别const关键字修饰的字段只能在声明的时候初始。readonly关键字修饰的字段可以在声明的时候初始化,也可以在构造器中初始化。const修饰的字段值在编译时确定,readonly修饰的字段值在运行时确定。public static... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(74) 评论(0) 推荐(0)

C# 接口和抽象类的区别和使用场合(知识要点归纳总结)

摘要: C# 接口和抽象类的区别和使用场合(知识要点归纳总结)接口和抽象类的异同相同点二者都不能实例化;二者都通过继承实现中的重写(override)实现抽象方法;二者都是OOP的基础,实现各种设计模式。不同点接口支持多实现,而抽象类和具体类一样只能单一继承;接口只能定义抽象的方法,而抽象类... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(383) 评论(0) 推荐(0)

C# 抽象类(知识要点归纳总结)

摘要: C# 抽象类(知识要点归纳总结)抽象类就像是具体类和接口之间的一个过渡。抽象类具有一接口的含有抽象方法(本质上接口中的方法就是抽象方法)的特性,也具有具体类的具体方法和属性的特性。抽象类的特点抽象类就像一个具体类 抽象类类的定义类似于具体类。抽象类可以有字段和方法也可以继承其他类。抽... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(147) 评论(0) 推荐(0)

C# 访问修饰符(知识要点归纳总结)

摘要: C# 访问修饰符(知识要点归纳总结)访问修饰符(access modifiers) 设定类和类成员的访问级别public表示任何人都可以访问同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员。 注:将一个类或类成员标志位public时,任何其他类的任何实例可以... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(480) 评论(0) 推荐(0)

C# 类型转换(知识要点归纳总结)

摘要: C# 类型转换(知识要点归纳总结)简介C#是一门强类型语言,即在编译时静态类型化的,因此变量在声明后就无法再次声明,或者无法存储其它类型的值,除非把该值转化成声明的类型。当需要将一种类型变量的值复制到另一种类型的变量或参数中是,就需要类型转换。 隐式转换:这是一种类型安全的转换,不... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(142) 评论(0) 推荐(0)

C# 接口(知识要点归纳总结)

摘要: C# 接口(知识要点归纳总结)1.为什么需要接口?接口可以使一个类做多项工作而不依赖于继承, 因为继承会引入不需要的字段、属性和方法;通过接口能使用任何一个完成任务的类,即接口的引用可以指向任何一个实现了该接口的类的实例。比如,当接口作为函数的形参时,任何一个实现了该接口的类的实例都... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(218) 评论(0) 推荐(0)

C# 查看类图

摘要: 类视图查看类图有两种方法:1.点击菜单:视图–>类视图2.在解决方资源管理器中,项目或者类文件上右键点击类视图 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(974) 评论(0) 推荐(0)

C# 类继承(知识要点归纳总结)

摘要: C# 类继承(知识要点归纳总结)1.覆盖有时希望子类继承基类的大部分行为,但是并不是所有行为。如果希望改变一个类继承的某些行为,可有覆盖(override)这些方法。实现方法:为基类中的方法增加virtual关键字。 子类智能覆盖标志有virtual关键字的方法,这就告诉C#允许子类... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(153) 评论(0) 推荐(0)

C# 浮点数和货币值常量

摘要: C# 浮点数和货币值常量F后缀指示float,M表示decimal。float a= 15.6F;decimal b=36.12M; 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(154) 评论(0) 推荐(0)

C# null关键字用法

摘要: C# null用法null关键字代表空引用,不指向任何对象;null是引用类型变量的默认值;普通值类型的变量不能是null;可空值类型可以是null。使用场合条件测试if (lloyd == null){}希望对象被垃圾回收mc = new MyClass();mc = null;备... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(275) 评论(0) 推荐(0)

C# this关键字用法

摘要: C# this关键字用法这个关键字引用类的当前实例,并且也用作扩展方法第一个参数的修饰符下面是this关键字的常见用法限定被相似的名字隐藏的类成员(如果方法的参数与字段同名,它会屏蔽改字段),例如:public Employee(string name, string alias) ... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(258) 评论(0) 推荐(0)

C# 数组

摘要: C# 数组1. 简介数组(array) 可以跟踪大量相同类型的数据,比如一个高度列表。数组之所以特殊,是因为这是一组变量,却处理为一个对象。利用数组,可以存储和修改多个数据,而不必单独的跟踪每个变量。2.数组的声明和初始化声明数组datatype[] arrayName;dataty... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(119) 评论(0) 推荐(0)

C# 接口

摘要: C# 接口简介对于接口的作用,在一些小的项目上,很难看出其发挥的优势。这就使一些经常的做小项目的开发人员,做时间久了就感觉不到它有什么好的,有时候写起来还麻烦,干脆不用了。其实,在一些大项目上,接口的作用是发挥地相当的明显的。 比如:如果你开发业务逻辑代码,当你好不容易的实现了它全部... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(69) 评论(0) 推荐(0)

C# 可空类型(Nullable)

摘要: C# 可空类型(Nullable)C# 可空类型(Nullable)C# 提供了一个特殊的数据类型,nullable 类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值 1. 例如,Nullable,读作”可空的 Int32”,可以被赋值为 -2,... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(153) 评论(0) 推荐(0)

C# 字符串格式化

摘要: 在C#中格式化字符串简介在编写C#程序的过程中经常需要输出特定格式的字符串,因此要对需要输出的对象进行格式化。正文每个对象都有一个ToString方法用来返回这个对象的字符串形式的呈现。ToString方法能接收一个字符串参数,告诉对象怎样格式化它自己。 String.Format的... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(3606) 评论(0) 推荐(0)

.net编译原理

摘要: CLR:Common Language Runtime,公共语言运行时,是和Java的虚拟机一样是一个运行时环境。CLR是运行托管代码的虚拟机。CLR负责的事情:即时编辑(Just In Time Compile:JIT编译),垃圾回收(Garbage Collect)IL:Inte... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(144) 评论(0) 推荐(0)

C# 委托(Delegate)

摘要: C# 委托(Delegate)C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。 委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(109) 评论(0) 推荐(0)

C# 修改系统时间

摘要: 由于手头有一个物联网的触摸屏程序需要提供用户修改系统时间的功能。该功能需要win32的API函数提供支持。具体代码如下: internal class SystemTimeWin32 { [DllImport("Kernel32.dll",CharSet = C... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(1486) 评论(0) 推荐(0)

C# 获取控件在客户区的坐标,相对于顶级父容器的坐标

摘要: 转载:点击跳到原作者 /// /// 获取控件在客户区的坐标,相对于顶级父容器的坐标 /// /// 控件 /// 坐标点 public static Point LocationOnClient... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(1572) 评论(0) 推荐(0)

Visual Studio Code使用问题

摘要: 1.没有设置自动保存的情况下,更改数据,再次用vs code打开显示的是更改后的;但是用其他编辑器打开发现根本没有更改;导致我以为是Json的解析代码有问题。解决办法,文件-自动保存,设为自动保存即可。被坑惨了,浪费好多时间。 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(73) 评论(0) 推荐(0)

C# 检测U盘

摘要: 转自:原作者 由于工作中需要检测优盘是否存在,读取优盘中的文件,所有在此记录。把优盘的信息读取封装到一个类:using System;using System.IO;using System.Linq;using System.Windows.Forms;namespace Temp... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(616) 评论(0) 推荐(0)

C# protected修饰词

摘要: 概述:假设A为基类,B为子类,被protected修饰的成员在基类中 1. 在A中可直接访问 2. 在B中可直接访问; 3. 在A中通过A或B的实例访问; 4. 在B中通过B的实例访问,不能通过A的实例访问; 5. 在A和B外部的类中,无法访问;总结:基类中访问无限制;子类... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(1308) 评论(0) 推荐(0)

C#6.0 $字符串插值

摘要: 编程中经常用到字符串的拼接。 C#6.0之前的方法:var plne=new Plane(){Category = Category.Bomber,Name = "B-1",State = State.Unknown};var sb=new StringBuilder();sb.Ap... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(415) 评论(0) 推荐(0)

C# 第一次网络请求速度慢的原因

摘要: 修改后代码如下: public string RequestServer(string requestUriString) { try { GC.Collect(); ... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(808) 评论(0) 推荐(0)

WPF模板-Style中的Setter

摘要: 《深入浅出WPF》(作者:刘铁猛)之学习笔记WPF模板-Style中的SetterXAML代码: 无C#代码 程序设计图: 程序运行图: 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(2012) 评论(0) 推荐(0)

WPF绘图和动画-VisualBrush实例

摘要: 《深入浅出WPF》(作者:刘铁猛)之学习笔记WPF绘图和动画-VisualBrush实例XAML代码: ... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(628) 评论(0) 推荐(0)

C# Socket通信实例

摘要: 代码是抄来了,找不到出处了,经测试代码简洁可用服务端代码:using System;using System.Text;using System.Net.Sockets;using System.Net;using System.Threading;namespace SocketS... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(395) 评论(0) 推荐(0)

WPF 实现各种滤镜效果

摘要: WPF的界面呈现能力非常强大,能实现很多Photoshop能实现的滤镜效果。通过使用UIElement的Effect属性来实现。首先下载ShaderEffectLibrary库。这个库在Codeplex上,下载速度比较慢,而且这个网站快要关闭了,微软准备迁移到GitHub上。这是一个... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(734) 评论(0) 推荐(0)

Visual Studio Web Deploy发布网站

摘要: Visual Studio Web Deploy发布网站在服务器上安装Web Deploy 3.5,我用的完整安装;在服务管理器的中,添加角色, 添加管理工具;在visual studio中右键发布;流程图片展示: 添加管理工具 出现管理服务 保持默认 添加用户 添加用户权限 验证... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(112) 评论(0) 推荐(0)

MVC5+LocalDb发布到IIS

摘要: MVC5+LocalDb发布到IIS: 现记录其中一种方法,本方法简单但是安全性不高:1.把标识改为自定义用户,我用的是管理员,这样权限比较高,默认的ApplicationPool的权限比较低,而访问数据库需要高权限。 2.连接字符串改为下图所示: 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(102) 评论(0) 推荐(0)

Win10 上 Sql Server 2016 安装

摘要: Win10 上 Sql Server 2016 安装操作系统是win10,64位。安装过程中出现了这样的问题:安装程序集“Microsoft.VC80.ATL,version=”8.0.50727.1833”,publicKeyToken=”1fc8b3b9a1e18e3b”,pro... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(1913) 评论(0) 推荐(0)

根据字符串调用同名函数

摘要: 需求:在工作中遇到某一部分代码是通过另一款软件导出来的,在实际的项目部署中,这部分代码会经常变动,那么类名和函数名就会不确定,在核心代码部分就很难灵活应对。于是,利用C#的反射方法,实现了一个dll封装,可以把要执行的方法放到配置文件里,实现动态调用。具体实现:代码封装using S... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(645) 评论(0) 推荐(0)

C# 匿名方法

摘要: C# 匿名方法我们已经提到过,委托是用于引用与其具有相同标签的方法。换句话说,您可以使用委托对象调用可由委托引用的方法。 匿名方法(Anonymous methods) 提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法。 在匿名方法中您不需要指定返回类型,它是... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(89) 评论(0) 推荐(0)

C# .NET内置委托

摘要: C# .NET内置委托C#委托Action、Action、Func、PredicateCLR环境中给我们内置了几个常用委托Action、 Action、Func、Predicate,一般我们要用到委托的时候,尽量不要自己再定义一 个委托了,就用系统内置的这几个已经能够满足大部分的需求... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(121) 评论(0) 推荐(0)

C# 扩展方法

摘要: C# 扩展方法扩展方法能给类添加方法,但是不改变原来类的任何内容。原来的类也不需要任何编译的过程using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 扩展... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(83) 评论(0) 推荐(0)

C# 把函数作为实参传递给作为形参的委托

摘要: C# 把函数作为实参传递给作为形参的委托函数可以直接用来实例化该类型的委托,也能传递给该类型的作形参的委托。using System;using System.Collections.Generic;using System.Linq;using System.Text;namesp... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(685) 评论(0) 推荐(0)

在WPF中驻留Windows窗体控件

摘要: 在WPF中驻留Windows窗体控件虽然在WPF中已经提供了很多元素可供我们使用,使我们能够编出一个完美的程序。但是当我们想用以前已经开发好的winform控件时,如果把它们转换成WPF控件,将会消耗很多精力和成本。尤其是使用的第三方控件是winform控件时,更加不可能。解决方案为... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(307) 评论(0) 推荐(0)

相机分辨率对成像的影响

摘要: 在每个特征占据相同像素的前提下,分辨率越大的相机具有的视野越大,相机距离被测物体越远。 在视野大小相同的前提下,分辨率越大的相机所成的像的每个特征具有越多的像素,从而相片具有更高的清晰度,结果也更加精确。 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(717) 评论(0) 推荐(0)

给线程传参数的三种方法

摘要: 方式一:使用ParameterizedThreadStart委托如果使用了ParameterizedThreadStart委托,线程的入口必须有一个object类型的参数,且返回类型为void。using System;usingSystem.Threading;namespace ... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(800) 评论(0) 推荐(0)

使用任务并行库(3)

摘要: 使用任务执行基本的操作简介设置相互依赖的任务,展示节省短暂任务的线程开销的方法。以下是代码实践:using System;using System.Threading;using System.Threading.Tasks;namespace 组合任务{ internal c... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(71) 评论(0) 推荐(0)

使用任务并行库(2)

摘要: 使用任务执行基本的操作简介区别在线程池中和主线程中运行任务的不同之处。以下是代码实践:using System;using System.Threading;using System.Threading.Tasks;namespace 使用任务执行基本的操作{ internal... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(60) 评论(0) 推荐(0)

使用任务并行库(1)

摘要: 使用任务执行基本的操作简介需要线程池的原因是在减少任务并行度时节省操作系统的资源。然而使用线程池也相当复杂,从线程池中获取结果也并不容易。为了解决这些问题.Net Framework4.0引入了任务并行库(Task Parallel Library,简称TPL)。在4.5值周做了轻微... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(155) 评论(0) 推荐(0)

使用线程池(7)

摘要: 使用BackgroundWorker组件简介使用BackgroundWorker组件,将代码组织为一系列的事件及事件处理器。以下是代码实践:using System;using System.ComponentModel;using System.Threading;namespac... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(68) 评论(0) 推荐(0)

使用线程池(6)

摘要: 使用计时器简介在线程池中建立周期性的异步操作。以下是代码实践:using System;using System.Threading;namespace 使用计时器{ internal class Program { private static void ... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(67) 评论(0) 推荐(0)

使用线程池(5)

摘要: 在线程池中使用等待事件处理器及超时简介当有大量的线程必须处于阻塞状态等待一些多线程事件发信号时,这种方法非常有效。异步操作函数和回调函数在不同的线程上,只有异步操作函数发出信号或者发生超时,被阻塞的回调函数的线程上的操作才会执行。以下是代码实践:using System;using ... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(80) 评论(0) 推荐(0)

使用线程池(4)

摘要: 实现一个取消选项简介当需要中断线程池上的异步操作时,有三种方法实现异步操作的取消: 1. 轮询来检查CancellationToken.IsCancellationRequested属性; 2. 抛出一个OperationCancelledException异; 3. 注册一个回调函... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(90) 评论(0) 推荐(0)

使用线程池(3)

摘要: 线程池与并行度简介对比创建500个线程和将500个线程放入线程池中。发现创建500个线程消耗了大量的操作系统资源,消耗的时间段;而把线程放到线程池中节省了内存和线程数,但是执行的时间变长了。以下是代码实践:using System;using System.Diagnostics;u... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(71) 评论(0) 推荐(0)

使用线程池(2)

摘要: 向线程池中放入异步操作简介使用ThreadPool.QueueUserWorkItem(WaitCallback,Object)将方法排入队列以便执行,并指定包含该方法所用数据的对象。 此方法在有线程池线程变得可用时执行。以下是代码实践:using System;using Syst... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(125) 评论(0) 推荐(0)

使用线程池(1)

摘要: 在线程池中调用委托为什么要使用线程池?创建线程是昂贵的操作,所以为每个短暂的异步操作创建线程会产生显著的开销。为了解决该问题,有一个常用的方式叫池(pooling)。线程池可以成功的适应于任何需要大量短暂的开销大的资源的情形。注意事项:每个CLR都有一个线程池实例;保持线程中的操作都... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(88) 评论(0) 推荐(0)

visual studio 2012常用快捷键

摘要: visual studio 2012常用快捷键1.回到上一个光标位置/前进到下一个光标位置1)回到上一个光标位置:使用组合键“Ctrl + -”; 2)前进到下一个光标位置:“Ctrl + Shift + - ”。2.复制/剪切/删除整行代码1)如果你想复制一整行代码,只需将光标移至... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(316) 评论(0) 推荐(0)

Dictionary的用法

摘要: Dictionary比HashTable更好用using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Dictio... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(108) 评论(0) 推荐(0)

C#交互过程中内存释放的方法

摘要: C#交互过程中内存释放的方法C#进行平台调用时总共有三种内存释放方法:1.CoTaskMemFree释放非托管内存 当非托管函数采用COM的内存分配方法CoTaskMemAlloc来分配内存,应该使用该方法来释放内存,该方法也是.net默认的对非托管内存的内存释放方法。 2.dele... 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(741) 评论(0) 推荐(0)

visual studio 2012 打开内存窗口

摘要: 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(138) 评论(0) 推荐(0)

人生也有涯,而知也无涯。

摘要: 本着活到老学到老的精神。今天开始学习WPFD的历程了。以前学习Windows Form的感觉,WPF有太多优势了。坚持!加油! 阅读全文

posted @ 2017-09-23 09:55 五月槐花 阅读(113) 评论(0) 推荐(0)

导航