C#编程
文章平均质量分 77
他山之石可以攻玉
这个作者很懒,什么都没留下…
展开
-
c# 引用类型和值类型区别
解析:CLR支持两种类型:值类型和引用类型。用Jeffrey Richter(《CLR via C#》作者)的话来说,“不理解引用类型和值类型区别的程序员将会把代码引入诡异的陷阱和诸多性能问题”。这就要求我们正确理解和使用值类型和引用类型。值类型包括C#的基本类型(用关键字int、char、float等来声明),结构(用struct关键字声明的类型),枚举(用enum关键字声明的类型);而转载 2012-08-21 17:24:29 · 373 阅读 · 0 评论 -
c# struct 变量 到 byte[] 变量的转换操作
如果能将 struct 变量 实例转换成byte [] 类型,则可以方便我们将变量存储传递压缩等。以下是我的一个初步实现。using System.Runtime.InteropServices;#region 需要转换的结构 [StructLayout(LayoutKind.Sequential, Pack=1)]//struTest变量在内存中的对齐方式 (指针类型转换成功的必要条转载 2012-11-20 14:51:11 · 560 阅读 · 0 评论 -
C#中的流、字节、字符和字符串
首先要明白它们本身是由什么组成的:流:二进制字节:无符号整数字符:Unicode编码字符字符串:多个Unicode编码字符 那么在.net下它们之间如何转化呢?一般是遵守以下规则:流->字节数组->字符数组->字符串 下面就来具体谈谈转化的语法流->字节数组MemoryStream ms = new M转载 2012-12-27 15:25:12 · 497 阅读 · 0 评论 -
this的使用
this关键字引用类的当前实例,还可用作扩展方法的第一个参数的修饰符。限定被相似的名称隐藏的成员,例如:public Employee(string name, string alias){ // Use this to qualify the fields, name and alias: this.name = name; this.alias转载 2013-02-17 15:42:22 · 396 阅读 · 0 评论 -
Control.INvoke 和 Control.BeginInvoke
一、为什么Control类提供了Invoke和BeginInvoke机制?关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。1、windows程序消息机制Windows GUI程序是基于消息机制的,有个主线程维护着一个消息泵。这个消息泵让windows程序生生不息。转载 2013-05-30 14:19:41 · 595 阅读 · 0 评论 -
事件和委托
引言委托和事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里憋得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Obser转载 2013-05-30 13:25:59 · 619 阅读 · 0 评论 -
C#参考——关键字
关键字是对编译器具有特殊意义的预定义保留标识符。它们不能在程序中用作标识符,除非它们有一个 @ 前缀。例如,@if 是有效的标识符,但 if 不是,因为if 是关键字。翻译 2014-10-16 08:54:03 · 621 阅读 · 0 评论 -
C#参考— —类型
如果在方法声明参数时为使用ref 或 out翻译 2014-10-15 09:34:03 · 670 阅读 · 0 评论 -
C#编程指南——隐式类型和匿名类型
1.var 关键字在方法范围中声明的变量可以具有隐式类型 var。翻译 2014-10-16 07:40:47 · 2287 阅读 · 0 评论 -
C# 参考—— 运算符
1. lambda 运算符:=? 读作goes to原创 2014-10-14 12:10:42 · 543 阅读 · 0 评论 -
C#编程指南——语句类型
1.选择语句if... else..., switch原创 2014-10-14 17:46:45 · 565 阅读 · 0 评论 -
C#网络编程系列十:实现简单的邮件收发器
引言:在我们的平常工作中,邮件的发送和接收应该是我们经常要使用到的功能的。因此知道电子邮件的应用程序的原理也是非常有必要的,在这一个专题中将介绍电子邮件应用程序的原理、电子邮件应用程序中涉及的协议和实现一个简答的电子邮件收发器程序。一、邮件应用程序基本知识1.1 电子邮件原理及相关协议说到电子邮件的原理,其实和我们现实生活中寄邮件和寄包裹是一样的原理的。就让我们先回顾下现实转载 2012-11-12 16:10:30 · 3335 阅读 · 0 评论 -
C#网络编程系列六:UDP编程
引用:前一个专题简单介绍了TCP编程的一些知识,UDP与TCP地位相当的另一个传输层协议,它也是当下流行的很多主流网络应用(例如QQ、MSN和Skype等一些即时通信软件传输层都是应用UDP协议的)底层的传输基础,所以在本专题中就简单介绍下UDP的工作原理和UDP编程的只是,希望可以对刚接触网络编程的朋友起到入门的作用。一、UDP介绍UDP和TCP都是构建在IP层之上传输层的协议,转载 2012-11-09 12:39:23 · 914 阅读 · 0 评论 -
C#网络编程系列九:类似QQ的即时通信程序
引言:前面专题中介绍了UDP、TCP和P2P编程,并且通过一些小的示例来让大家更好的理解它们的工作原理以及怎样.Net类库去实现它们的。为了让大家更好的理解我们平常中常见的软件QQ的工作原理,所以在本专题中将利用前面专题介绍的知识来实现一个类似QQ的聊天程序。一、即时通信系统在我们的生活中经常使用即时通信的软件,我们经常接触到的有:QQ、阿里旺旺、MSN等等。这些都是属于即时通信(转载 2012-11-12 15:59:54 · 1449 阅读 · 2 评论 -
C# 程序文件
bin 目录用来存放编译的结果,bin是二进制binrary的英文缩写,因为最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。 obj是object的缩写,用于存放编译过程中生成的中间临时文件。其中都有debug和relea转载 2012-11-09 13:39:32 · 596 阅读 · 0 评论 -
C#网络编程系列四:自定义Web浏览器
前言:前一个专题介绍了自定义的Web服务器,然而向Web服务器发出请求的正是本专题要介绍的Web浏览器,本专题通过简单自定义一个Web浏览器来简单介绍浏览器的工作原理,以及帮助一些初学者揭开浏览器这层神秘的面纱(以前总感觉这些应用感觉很深奥的,没想到自己也可以自定义一个浏览器出来),下面不啰嗦了,进入正题。一、Web浏览器的介绍Web浏览器是指可以显示Web服务器或者本地文件系统中转载 2012-11-08 18:05:07 · 733 阅读 · 0 评论 -
C#网络编程系列八:P2P编程
引言:前面的介绍专题中有朋友向我留言说介绍下关于P2P相关的内容的,首先本人对于C#网络编程也不是什么大牛,因为能力的关系,也只能把自己的一些学习过程和自己的一些学习过程中的理解和大家分享下的,下面就进入正题——P2P(Peer to Peer)编程一、P2P的介绍首先,现在大家熟知的BT、电驴、迅雷、QQ、MSN和PPlive等都是基于P2P方式实现的软件,并且对等联网(Peer转载 2012-11-12 15:52:44 · 1108 阅读 · 0 评论 -
C#网络编程系列一:网络协议简介
因为这段时间都在研究C#网络编程的一些知识, 所以在这里把我学习到的在这里和大家分享下的,这样既可以达到分享的目的也可以让大家监督我,如果有什么地方理解错了,还请大家不吝赐教的。很多人写网络编程这快都没有怎么讲网络中的协议,然而我觉得既然是网络编程肯定要介绍下网络编程中一些协议的,这样可以让更好的梳理网络编程的知识的,所以我在这系列中会用两个专题去讲协议,第一个专题简单介绍网络分层以及各层转载 2012-11-08 08:40:14 · 592 阅读 · 0 评论 -
C#网络编程系列二:HTTP协议详解
我们在用Asp.net技术开发Web应用程序后,当用户在浏览器输入一个网址时就是再向服务器发送一个HTTP请求,此时就使用了应用层的HTTP协议,在上一个专题我们简单介绍了网络协议的知识,主要是为了后面讲HTTP协议做一个铺垫的,只有对HTTP协议有一个清楚的认识,这样当我们用Asp.net技术开发Web应用程序时,我们可以多从网络协议的方面去思考我们的应用程序,而不是只是单单停留在对服务器控件的转载 2012-11-08 08:57:33 · 835 阅读 · 0 评论 -
C#网络编程系列三:自定义Web服务器
前言:经过前面的专题中对网络层协议和HTTP协议的简单介绍相信大家对网络中的协议有了大致的了解的, 本专题将针对HTTP协议定义一个Web服务器,我们平常浏览网页通过在浏览器中输入一个网址就可以看到我们想要的网页,这个过程中浏览器只是一个客户端,浏览器(应用层应用程序)通过HTTP协议把用户请求发送到服务端, 服务器接受到发送来的HTTP请求,然后对请求进行处理和响应,最后把响应的内容发送给客户端转载 2012-11-08 09:06:16 · 812 阅读 · 0 评论 -
C#网络编程系列五:TCP编程
前面专题的例子都是基于应用层上的HTTP协议的介绍, 现在本专题来介绍下传输层协议——TCP协议,主要介绍下TCP协议的工作过程和基于TCP协议的一个简单的通信程序,下面就开始本专题的正文了。一、TCP的工作过程首先TCP是一种面向连接的,可靠的,基于字节流的传输层通信协议。TCP的工作过程可以分为三个阶段:一、连接的建立; 二、传输数据; 三、断开连接,下面就对这三个过程分别介转载 2012-11-08 18:15:10 · 653 阅读 · 0 评论 -
C#网络编程系列七:UDP编程补充
上次因为时间的关系,所以把上一个专题遗留下的一个问题在本专题中和大家分享下,本专题主要介绍下如何实现UDP广播的程序,下面就直接介绍实现过程和代码以及运行的结果。一、程序实现UDP广播程序的实现代码using System; using System.Net; using System.Net.Sockets; using System.Text; using转载 2012-11-12 15:45:26 · 487 阅读 · 0 评论 -
C#编程指南——类的继承、多态性
1. 继承public class A{}public class B: A{}A:翻译 2014-10-16 19:48:06 · 997 阅读 · 0 评论