自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 应用程序域

一.应用程序域(AppDomain)的基本概念     .net可执行程序集(.exe)在运行时都寄宿在操作系统进程中,同时程序集又需要运行在托管环境中,但操作系统进程只提供基本的服务,并不了解托管代码。因此就需要有一个中介,既能为程序集提供托管环境,又能运行在非托管的操作系统进程之内,这个中介就是应用程序域。简单来说,应用程序域只是允许它所加载的程序集访问由.net公共语言进行时所提供的服务

2017-02-24 11:56:51 666

原创 ASCII、Unicode和UTF-8编码的区别

总体归纳如图所示:相关解释为:       最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。空格的ASCII码值为32.大写字母“A”到“Z”的ASCII码值分别为65到90;小写字母“a”到“z”的ASCII码值分别为97到到122。但是要处理中文显然一个字节是不

2017-02-24 10:28:16 425

原创 网络编程(二)--基本操作

服务器端:服务器端主要完成开启对端口的侦听,这就像为计算机打开了一个"门",所有向这个“门”发送的请求都会被系统接收。在c#中可以通过以下步骤完成。1)首先使用本机IP地址和端口号创建一个Sockets.TcpListener类型的实例,2)   然后在该实例上调用Start()方法。从而开启对指定端口的侦听。服务端对端口进行侦听代码如下:class ServerCli

2017-02-23 15:31:20 346

原创 网络编程(一)--基本概念

一.面向连接的传输协议--Tcp     关于TCP协议(传输控制协议),属于计算机基础理论。这里仅仅只讲与编程紧密相关的TCP协议的一些特点。首先要知道TCP是面向连接的,也就是说两个远程主机(或者叫进程,远程通信实际上是进程之间的通信,进程是指运行中的程序)必须首先进行一次握手过程,确认连接成功会才能传输实际的数据。比如,进程A想将字符串"It's a fine day today"发送给

2017-02-23 14:03:22 338

转载 序列化和反序列化(二)--自定义序列化

除了常用的序列化方式,我们也可以自己自定义序列化过程。自定义序列化只需要实现ISerializable接口就可以了,它位于System.Runtime.Serialization命名空间。          public interface ISerializable{                void GetObjectData(SerializationInfo info,Str

2017-02-23 09:38:51 310

原创 序列化和反序列(一)

一.序列介绍           将对象及其状态保存起来,就称为序列化(Serialization),最简单和常见的一种情况就是将对象及其状态保存在文件中或者数据库字段中;而反序列化(Deserialzation)是序列化的反向操作,将文件还原为对象,方便使用。      使用序列化的原因:将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本;按值将对象从一个应用程序域发送至

2017-02-22 10:25:49 365

原创 XML(二)--例子

本例子实现以下几个功能1.递归xml绑定到treeview控件,并且显示。2.递归寻找treeview中哪些checkbox被选中3.递归获取选中checkbox的值,并且存入容器中,并且显示出来代码例子要用的xml结构                页面部分截图

2017-02-21 17:02:07 491

原创 XML(一) ---节点node和元素element的区别

之前做过的一些项目包括xml操作,但是只是完成了功能,但是没有具体进行整理。现在对xml做一个整理归纳。1.引入本文处理的xml文档 category="children"> lang="en">Harry PotterJ K. Rowling200529.99 category="cooking">

2017-02-21 11:13:11 3862

转载 流和序列化(二)--流的类型体系

流大致可以分为以下几类。如图:

2017-02-20 16:28:30 323

原创 流和序列化(一)--流

在c#中,流被实现为了Stream类及一系列的子类,同时还有一些装饰类和帮助类。流的最主要用途就是与应用程序外部的文件或数据员进行数据交互。比如,访问文件时,有文件流(FileStream);访问网络时,有网络流(NetStream);访问串口时,虽然没有流的子类型,但是SerialPort类型暴力了BaseStream属性;访问Web服务器时,HttpRequest和HttpResponse类型

2017-02-20 15:28:47 439

原创 c# 泛型(一)--引入

我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为方法的参数类型不同。有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型的出现就是专门解决这个问题的。    如果不久以后需要对一个byte类型的数组进行排序,而上面的排序算法只能接

2017-02-16 17:18:02 515

转载 委托和事件(五)--例子--涵盖了观察者设计模式

场景:当我们用信用卡刷完钱的时候,我们就会接收到手机短信,或者是电子邮件,其实这就是Observer pattern(观察者模式)//---本例场景为当用户从银行账号里取出钱后,马上通知电子邮件和发手机短信---//本例中的订阅者,也就是观察者是电子邮件与手机//发布者,也就是被监视对象是银行账号//Obverser电子邮件,手机关心的对象e ,分别是邮件地址、手机号码、取款金

2017-02-16 13:18:00 177

原创 委托与事件(四)--send和e详解

经过前面的学习,相信大家对事件和委托有了一些认识。下面来谈谈一个奇怪的问题,为什么.net Framework中的事件模型和前面的不同?有很多的EventArgs参数?那他们到底表示什么呢?在回答上面的问题之前,我们先搞懂 .Net Framework的编码规范:一、委托类型的名称都应该以EventHandler结束。 二、委托的原型定义:有一个void返回值,并接

2017-02-16 11:36:57 465

原创 委托和事件(二)--委托详解

声明委托(Delegate)  委托声明决定了可由该委托引用的方法。委托可指向一个与其具有相同标签的方法。例如,假设有一个委托:public delegate int MyDelegateEventHandler (string s); delegate 是关键词,【注:EventHandler是一个声明委托的微软C#的命名标准,我的习惯是标准就要第一时间说,也就这个命

2017-02-15 16:59:55 230

转载 委托和事件(三)--事件详解

谈到事件,不得不牵扯到两个角色事件发行者(Publisher):一个事件的发行者,也称作是发送者(sender),其实就是个对象,这个对象会自行维护本身的状态信息,当本身状态信息变动时,便触发一个事件,并通知说有的事件订阅者。事件订阅者(Subscriber):对事件感兴趣的对象,也称为Receiver,可以注册感兴趣的事件,在事件发行者触发一个事件后,会自动执行这段代码。

2017-02-15 16:27:17 271

转载 观察者模式

前言:假设我们有个高档的热水器,我们给它通上电,当水温超过95度的时候:1、扬声器会开始发出语音,告诉你水的温度;2、液晶屏也会改变水温的显示,来提示水已经快烧开了。现在我们需要写个程序来模拟这个烧水的过程,我们将定义一个类来代表热水器,我们管它叫:Heater,它有代表水温的字段,叫做temperature;当然,还有必不可少的给水加热方法BoilWater(),一个发出语音警报

2017-02-15 16:11:16 266

转载 委托和事件(一)--参数

参数我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出一句问候的话语:public void GreetPeople(string name){    // 做某些额外的事情,比如初始化之类,此处略    EnglishGreeting(name);}public void Eng

2017-02-15 14:09:49 808

原创 对象判等(二)

前面对c#中对象判断做了详细的介绍,这个篇幅主要是一个代码示例 using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Example{class Person{private string name;public string

2017-02-14 11:56:53 163

原创 对象判等(一)

引用类型和值类型相等比较具有相同的规则:ReferenceEquals()用于比较引用,Equals()用于比较值。对于引用类型,相等定义为对象相等;即这些引用是否引用同一对象。对于值类型,相等定义为按位相等。System.Object的一个初看上去令人惊讶的方面是它定义了3个不同的方法,来比较对象的相等性:ReferenceEquals()和Equals()的两个版本。再加上比较运算符=

2017-02-14 10:42:54 223

空空如也

空空如也

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

TA关注的人

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