自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 反射学习总结

反射学习总结         一个类中的成员包括字段、属性、方法和事件,这些成员都是这个类的元数据。反射就是在一个类的外部或它所在程序集外部,通过这个类的元数据,创建一个这个类的类型的对象,然后访问其中的成员。例如:有一个Person类,我们可以通过以下两种方法获得这个类的类型的对象:         第一种方法,用typeof()方法获取:Type tp = typeof(Person)

2013-12-02 22:41:14 720

原创 委托和事件学习总结

委托和事件学习总结         有如下图所示的两个窗体Form1和Form2,点击Form1窗体上的button1按钮,弹出Form2窗体,然后在Form2窗体上点击button1按钮,修改Form1窗体的背景色或是给Form1窗体的TextBox赋值。             按照最普通的想法,需要把Form1窗体对象作为一个变量传递给Form2窗体,并且把TextBox的修饰符

2013-12-02 22:38:28 864

原创 正则表达式学习总结

正则表达式学习总结         有这样一个需求,根据一个网址提取出这个网站里面你需要的一些内容。比如,有一个网站的网址为http://search.51job.com/job/46629381,c.html,需要提取出这个网站页面所有的职位名称或其它信息。在C#中,我们可以根据它所提供的一些类来完成对这个页面的访问,如WebClient类。它可以把这个网站的页面内容以字符串的方式返回给调用

2013-12-02 22:35:01 839

原创 给常用代码段添加快捷键

我们在VS中敲代码的时候,会经常重复性地敲一些代码段,比如:Console.WriteLine(); 、Console.ReadLine(); 。其中前一个代码段在IDE中有提供一个快捷键,我们先点击cw,然后再点两下Tab键,那么Console.WriteLine();这段代码就会自动填充。但是,后一个控制台读取功能的代码段在IDE中却没有快捷键。这时,我们可以通过如下步骤自己手动创建一个这样的

2013-11-25 23:38:18 1741 1

原创 面向对象知识总结

面向对象总结         在软件开发中,我们应该遵循最基本的高内聚、低耦合的原则,也就是说程序中各个部分相互之间的依赖性越低越好,而它们之间的联系越紧密越好。面向对象设计思想可以很好的体现这一原则。我们可以从不同的事物中找出它们的共同点,然后抽象成一个类,这一类的事物拥有自己最基本的特点和行为。比如说,我们可以从各个不同的人这一实体中抽象出人类,所有人类的共同特点是都有自己的名字和年龄等,

2013-11-21 22:28:56 727

原创 WCF的简单应用

WCF合并了ASP.NET Web服务、.NET Remoting、消息队列和Enterprise Services的功能,WCF的功能包括:1.存储组件和服务——与联合使用自定义主机、.NET Remoting和WSE一样,也可以将WCF服务放在ASP.NET运行库、Windows服务、COM+进程或Windows窗体应用程序中,进行对等计算。2.声明行为——不要求派生自基类,而可以使用

2013-11-03 16:21:58 1026

原创 WPF的资源

WPF的资源有两种,一种称为“程序集资源”( assembly resources)或者“二进制资源”(binary resources),在MSDN中将其称为“应用程序数据文件”(application data files);另外一种称为资源或者对象资源(object resources)、“逻辑资源”(logic resources),甚至“声明式资源”(declarative resour

2013-10-19 19:59:21 2875

原创 路由事件

什么是路由事件?先看一个Button的Click事件,该事件是一个路由事件。在Button控件的基类ButtonBase中关于路由事件定义的代码如下:public class ButtonBase:ContentControl,ICommandSource { public static readonly RoutedEvent ClickEvent;

2013-10-17 19:32:55 1955

原创 XAML和其依赖属性

一、XAML在WPF之前设计图形用户界面往往使用一种语言。但在WPF当中,由于 引入了XAML语言。因此在界面设计方面,一般使用XAML语言,而在业务逻辑上使用C#或者VB这样的后台代码。XAML语言和后台代码可以配合得丝丝入扣,又可以将界面设计和业务逻辑分离。XAML是一种声明式的语言。XAML文件有两个重要组成部分:一是有完整开始和结束标签的要素,如Window、DockPanel和But

2013-10-16 14:49:24 1376

原创 动画时间轴的基本行为

动画中的时间总是和时间轴(Timeline)相联系,Timeline是所有动画的基类,代表一段动画的时间。而且时间轴具备层次关系,其起始和结束时间均相对于父时间轴的起始点来计算。时间轴比较学用到的属性有以下几个方面。1.DurationDuration属性用来描述时间的长短。如果想让动画持续2.7秒结束,C#代码如下:DoubleAnimation animation = new Do

2013-10-13 15:40:20 2636

原创 WPF的动画实现方式

过去实现动画的经典方法是建立一个定时器,然后根据其频率循环调用回调函数或者一个事件处理函数。在这个函数中可以手动更新目标属性,直到达到最终值,这时可以停止定时器。这就是基于计时器的动画。WPF中也提供了DispatcherTimer类型的定时器,可以通过该类实现这样的方案。

2013-10-13 11:30:07 12106

原创 WPF的触发器

我们不仅可以在代码中通过设置属性值来更改控件的外观,还可以在程序运行的过程中动态的改变控件的外观。例如,用户在按钮上移动鼠标,按钮就会改变其外观。通常,这必须在C#代码中实现。但是,使用WPF,我们可以在XAML中实现这个功能,而这功能的实现只会对UI产生影响。XAML有好几个类型的触发器:1.属性触发器:在属性值改变时激活。2.多触发器:基于多个属性值。3.数据触发器:在绑定的数据改

2013-10-12 15:39:29 2105

原创 WPF的基础知识

WPF的全称是Windows Presentation Foundation,意思是Windows描述语言。它的一个主要特性是设计人员和开发人员的工作很容易分开,设计人员的工作成果可以直接供开发人员使用。为此,必须理解XAML。WPF在建立应用程序时使用XAML。XAML表示可扩展的应用程序标记语言,Extensible Application Markup Lanuage。XAML是用于创建窗体

2013-10-11 20:50:57 1326

原创 C#接口和抽象类的总结

一、接口的简单实现接口更好地实现了多态,体现了约定和实现相分离的原则。通过面向接口编程,可以降低代码间的耦合性,提高代码的可扩展性和可维护性。在面向对象编程中,提倡面向接口编程,而不是面向实现编程。面向接口编程意味着,开发系统时,主体架构使用接口,接口构成系统的骨架,这样就可以通过更换实现接口的类来实现更换系统。一个类实现的某个接口,就表示这个类具有了某种能力,这个能力具体体现在实现接口的方法

2013-10-04 16:16:30 2415

原创 C#垃圾回收和析构函数以及弱引用

在程序中,当我们每创建一个对象,就会在内存中开辟一个空间,用以存放这个对象。如果创建的对象多了,内存就会出现不够用的情况。这时我们就要把内存中不再使用的对象释放掉,避免内存的占用及程序的异常。这个过程就是垃圾回收。手动进行垃圾回收的方法是:GC.Collect(); ,但我们一般不会这么做,一来是因为我们声明的对象有可能还会被引用,而且在手动回收的时候会漏掉很多,二来VS为每个程序提供自动回收垃圾

2013-10-03 19:57:14 2297

原创 【黑马程序员】视频拓展——多线程聊天室客户端与客户端的交互

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------Socket不仅可以实现服务端与客户端的交互,而且还可以实现客户端与客户端的交互,就是从一个客户端发送消息,然后在另一个客户端接收,就好比我们的聊天软件。实现客户端与客户端的交互有两种方法可以实现。第一种方法是我们可

2013-09-28 16:58:23 1175 1

原创 【黑马程序员】Socket文件传输

我们利用Socket网络编程不仅可以传送文字,也可以传送文件。不论是文字还是文件,我们都需要先把它们转换为字节流(byte[]类型)才能传输。当接收的那一方的Recive()方法监听到有数据传送过来之后,就会把它从字节流转换回文字或文件。那么程序如何在接收到字节流的时候,判断它是文字还是文件呢?这就要求我们给这个字节流添加一个特殊标识,比如说,如果标识是0,它接收到的是文字,如果标识是1,那么它接

2013-09-28 14:52:57 798

原创 【黑马程序员】Socket编程实现服务端和客户端的交互

用Socket实现网络编程首先要创建一个Socket对象,Socket类位于System.Net.Socket命名空间,需要先行导入。创建Socket对象需要以下三个参数,这些参数都是枚举类型:①AddressFamily成员指定Socket用来解析地址的寻址方案,例如:InternetWork指示当Socket使用一个IP版本4地址连接;②SocketType定义一个要打开的Socket

2013-09-25 20:13:30 2166

原创 【黑马程序员】Socket编程实现内网连接的问题

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------利用Socket编程实现内网的客户端和服务端的连接时出现了一个问题。主界面如图所示:点击启动服务按钮,执行的主要代码如下:private void btnBeginListen_Click(object se

2013-09-24 21:32:13 1276

原创 【黑马程序员】网络通信机制和Socket的简单了解

在我们的电脑上,一般都会装有QQ、YY、或网络游戏等需要通过联网实现其功能的程序,那么计算机是如何通过网络来联系其它设备上的程序呢?先看下图:如图所示:假设有3台计算机通过网络互相联接,每个计算机都被分配有一个IP地址,计算机之间可以通过IP地址实现互相访问。如果计算机1想访问计算机3,就必须先通过计算机3的IP地址(192.168.1.3)找到计算机3,这样才能实现访问。现在计算机1和计算机

2013-09-24 16:34:17 1428

原创 【黑马程序员】多线程的带参方法

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------多线程的实现是让程序的主界面可以被操作的同时,也可以执行其它的代码,从而产生相应的功能。这些代码一般是放在方法里面,这个方法可以是无参方法,也可以是有参方法。当使用无参方法时,我们可以直接用Start()方法启动线程

2013-09-23 20:46:44 829

原创 【黑马程序员】多线程的方法重入问题

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------由于多线程是让CPU在“同一时间”响应用户不同的操作,因此在程序运行过程中,很容易产生一些让人意想不到的结果。在说方法重入问题之前,先看一个示例吧。有一个如图所示的窗体应用程序,窗体里面有一个TextBox控件和

2013-09-23 16:43:22 1065

原创 【黑马程序员】关于线程的学习

对于一个正在运行的程序(即.exe文件)来说,它就是一个进程。这一个进程里面至少要有一个线程,也可以包含很多个线程,即多线程。同一个进程之间的多个线程之间可以“并发”执行。一个程序的默认线程就是它的主线程,当主线程正在执行任务时,它是不能进行其它任何操作的,只有主线程把这个任务进行完毕之后,它才能够响应其它操作。使用多线程,有以下几个优点:1.让计算机“同时”做多件事情,节约时间;2.后台

2013-09-23 13:59:48 695

原创 【黑马程序员】一个简单的小游戏——骑士飞行棋

这是一个简单的小游戏——骑士飞行棋的实现方法。本游戏由两名玩家对战。下面是本游戏的效果图:先上本游戏实现方法的代码:namespace 骑士飞行棋{ /// /// 玩家类 /// class Player { public string name; //玩家姓名 public int posit

2013-09-22 18:58:21 1645

原创 在DataSet中访问多个表

ADO.Net模型有一个很大的优点,就是DataSet对象可以跟踪多个表和它们之间的关系。这表示可以在一个操作的不同程序段之间传递完整的相关数据集,体系结构内在地维护数据之间关系的完整性。ADO.Net中的DataRelation对象用于描述DataSet中的多个DataTables对象之间的关系。每个DataSet都包含DataRelations的Relations集合,以查找和操纵相关表。

2013-09-09 20:13:03 2627

原创 Linq的简单介绍

Linq可以通过使用SQL语句的方式来处理非常大的对象集合,例如对集合进行过滤和排除等操作。Linq也允许查询大型数据库或复杂的XML文档,这大大简化了我们的代码编写。目前,有3个LInq变体:LInq to Objects、Linq to SQL和Linq to XML,它们为不同的数据类型提供了查询解决方案:Linq to Objects:为任意类型的C#内存对象提供查询,里面的方法适用于

2013-09-07 21:02:22 656

转载 Lambda 表达式

Lambda 表达式5.1 Lambda 的意义在Framework 2.0 以前,声明委托的唯一方法是通过方法命名,从Framework 2.0 起,系统开始支持匿名方法。通过匿名方法,可以直接把一段代码绑定给事件,因此减少了实例化委托所需的编码系统开销。而在 Framework 3.0 开始,Lambda 表达式开始逐渐取代了匿名方法,作为编写内联代码的首选方式。总体来

2013-09-03 20:01:55 716 1

转载 C#关键字operator的用法

peratoroperator 关键字用于在类或结构声明中声明运算符。运算符声明可以采用下列四种形式之一:public static result-type operator unary-operator ( op-type operand )public static result-type operator binary-operator ( op-type operand,

2013-08-31 20:23:18 1926

原创 【黑马程序员】集合框架和自定义集合

集合的功能可以通过接口来实现,该接口不仅没有限制我们使用基本的集合类(例如:System.Array),而且我们还可以创建自己的定制集合类。这些集合可以专用于要枚举的对象(即要从中建立集合的对象)。这么做的一个优点是定制的集合类可以是强类型化的,也就是说,从集合中提取项时,我们不需要把它们转换为正确的类型,反而可以直接使用。另一个优点是可以获得专用的方法,比如可以提供获得项子集的快捷方法,或其它一

2013-08-31 11:07:40 769

原创 结构类型、结构函数和构造函数

在初学C#的时候,有三个概念可能会容易搞混——结构类型、结构函数、构造函数。         结构类型是由几个数据组成的数据结构,这些数据可能有不同的的类型。结构就是把这些不同类型的数据组合在一起,形成由用户自定义变量类型的数据,以方便用户使用。结构使用struct关键字来定义,语法如下:         struct           {

2013-08-26 20:00:02 3242

原创 【黑马程序员】连接数据库时的注入漏洞攻击

在使用ADO.Net连接数据库时,我们有时会要求从界面输入登录名和密码,然后把登录名和密码传入数据库进行验证,以确定用户是否可以登录。如下面就是一个简单的登录程序。static void Main(string[] args) { string connStr = "Data Source = .;Initial Catalog = MySchoolBa

2013-08-22 20:45:39 780

转载 IList与List的区别

已经有很多人讨论过IList和List的区别,恩,我也赞同其中的一些观点,其实他们二者也是有优有劣的,看你着重用在哪个方面,先贴一下我赞同的意见,基本上也都是网友们总结的。  首先IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口。它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如果仅仅是作为集合数据的承载体,确实,IList可以胜任。

2013-08-22 19:11:40 728

原创 获取输入汉字的中文读音

在论坛上看到一个题目:要求输入一个汉字,输出这个汉字的所有读音(不含声调并去除重复)。这道题的关键在于要使用一个API,由于系统本身并没有默认带这个API的dll文件,所以就去微软下载了一个Microsoft Visual Studio International Pack 。这个包里面包函了东亚部分国家的语言的发音。然后添加这个dll文件,调用里面的属性和方法就可以得到这个字的读音的集合

2013-08-17 15:36:27 1324

原创 关于打印一个有趣的数字图形的问题

有这样一道题,即按照如下图形的规律打印出这个图形:这个图形外面一圈“*”号很容易打印,它的核心是怎样打印里面的数字。上面的数列可以把它看成一个二维数组,然后我们可以按照数组下标的变化分别给数组赋值。这时主要难点就是如何来确定下标的变化值。我们可以先把它拆分成几种情况,来观察它们变化的规律。假设n为行列数,i为1到n之间的数。当i=1时,数列为:当i=2时,数列为:当

2013-08-13 00:07:05 1258

转载 C#综合揭秘——细说多线程

一、线程的定义 1. 1 进程、应用程序域与线程的关系进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。进程之间是相对独立的,一个进程无法访问另一个进程的数据(除非利用分布式计算方式),一个进程运行的失败也不会影响其他进程的运行,Windows系统就是利用进程把工作划分为多个独立的区域的。进程可以理解为一个程序的基本边界。应用程序

2013-08-10 16:36:43 619

转载 C# 实现屏幕录像

下面是主要代码:(没有注释,不要骂人)[c-sharp] view plaincopyusing System;  using System.Collections.Generic;  using System.ComponentModel;  using System.Data;  using System.Drawing;

2013-08-09 20:17:56 2743 2

转载 Environment类——获取当前操作环境和平台的信息

本文转自:http://technet.microsoft.com/zh-cn/library/system.environment(v=vs.105).aspxEnvironment 类其他版本此主题尚未评级 - 评价此主题2013/3/11提供有关当前环境和平台的信息以及操作它们的

2013-08-05 16:49:33 1680

原创 如何获取网页源码

获取网页源码可以通过WebRequest类和WebResponse类。1.WebRequest类    WebRequest类是.Net Framework的请求/响应模型的abstract基类,用于访问Internet数据。使用请求/响应模型的应用程序可以用协议不可知的方式从Internet请求数据。此类在System.Net命名空间下。Request类的常用方法:方法

2013-08-05 16:39:45 3144

原创 删除图片时,报错“正由另一进程使用,因此该进程无法访问此文件”的处理方式

在做一个小项目时练习的时候,当我单击删除按钮删除图片时,却发生了异常,如下图:在网上搜索半天,可就是没找到解决方法,终于,经过我的不懈努力,在谷歌里面搜到了。原来,在PictureBox里面显示图片的的这一事件占据了程序的一个进程,当要删除这张图片的时候,这个进程仍然在执行中。就算让PictureBox先显示下一张图片,然后再删除也不行。因为要删除的那张图片被占用了,无法删除!面对这样的情况,

2013-08-03 00:55:47 5973 2

转载 C#中unsafe的使用

1. unsafe在C#程序中的使用场合:1)实时应用,采用指针来提高性能;2)引用非.net DLL提供的如C++编写的外部函数,需要指针来传递该函数;3)调试,用以检测程序在运行过程中的内存使用状况。2. 使用unsafe的利弊好处是:性能和灵活性提高;可以调用其他dll的函数,提高了兼容性;可以得到内存地址;带来麻烦是:非法修改了某些变量;内存

2013-08-01 16:08:44 4280

空空如也

空空如也

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

TA关注的人

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