.NET Framework技术
文章平均质量分 79
忧郁剑客
主要从事B/S方面的技术开发和研究
展开
-
C#多线程案例基础
在学习多线程之前,我们先来看几个概念:1,什么是进程? 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源,当然一个程序也可能开启多个进程。 而一个进程又是由多个线程所组成的。2.什么是线程? 线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。转载 2013-05-20 09:42:49 · 556 阅读 · 0 评论 -
从底层角度看ASP.NET
从更低的角度这篇文章在一个底层的角度来关注一个web请求怎样到达asp.net框架,从web服务器,通过ISAPI。看看这些后面发生了什么,让我们停止对asp.net的黑箱猜想。 ASP.NET是一个非常强大用来创建web应用程序的平台,它为创建web应用程序提供了大量的灵活强大的支持。大多数人仅仅熟悉表层的WebForm和webservice,他们位于整个ASP.NET架构的最表层。转载 2013-05-31 15:02:26 · 770 阅读 · 0 评论 -
深刻理解C#的传值调用和传引用调用
传值调用和传引用调用是几乎所有主流语言都会涉及到的问题,下面我谈谈我对C#中传值调用和传引用调用的理解。1. 一般对C#中传值调用和传引用调用的理解如果传递的参数是基元类型(int,float等)或结构体(struct),那么就是传值调用。 如果传递的参数是类(class)那么就是传引用调用。 如果传递的参数前有ref或者out关键字,那么就是传引用调用。验证示例的代码如下:u转载 2013-05-29 14:53:48 · 621 阅读 · 0 评论 -
C++中指针和引用的区别
从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。在C++中,指针和引用经常用于函数的参数传递,然而,指针传递参数和引用传转载 2013-05-29 15:29:17 · 444 阅读 · 0 评论 -
比较C#的静态常量(const)和动态常量(static和readonly)
C#拥有两种不同的常量:静态常量(compile-time constants)和动态常量(runtime constants)。它们有不同的特性,错误的使用不仅会损失效率,还可能造成错误。相比之下,静态常量在速度上会稍稍快一些,但是灵活性却比动态常量差很多。//静态常量(隐式是静态的)public const int compiletimeConstant = 1;//动态常转载 2010-07-30 15:51:00 · 569 阅读 · 0 评论 -
C#.net之反射初探
什么是反射?反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。System.Reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码 和反射相关的命名空间(我们就是通过这几个命名空间访问反射信息):System.Refle转载 2010-07-30 16:14:00 · 1066 阅读 · 0 评论 -
引用类型(重量级对象)和值类型(轻量级对象)
C#中对象类型主要有两种——引用类型(重量级对象)和值类型(轻量级对象)。 引用类型总是在堆中分配(除非使用 stackalloc 关键字),并给予一个额外的间接层;也即,它们需要通过对其存储位置的引用来访问。既然这些类型不能直接访问,某个引用类型的变量总是保存实际对象的引用(或 null ) 而不是对象本身。假设引用类型在堆中分配,运行时必须确保每个分配请求被正确执行。考虑下面代码,它执转载 2010-07-30 15:27:00 · 1653 阅读 · 0 评论 -
C#基础知识详细介绍
1 、C#中数据类型的分类: (1)值类型:它存储在内存的堆栈中,表示实际数据。包括:基本数据类型(字符串除外)、结构、枚举。 (2)引用类型:它存储在内存的堆中,表示对象地址。包括:字符串、数组、类、接口、委托。2、 C#声明常量的声明方式: (1)静态常量(const): 数据类型 常量名称=常量值 (2)动态常量(readonly): C转载 2010-08-03 17:24:00 · 429 阅读 · 0 评论 -
UTF8编码和其它编码之间的转化
本文的例子里的其它编码使用的是“西里尔文编码”,可以把“Windows-1251 ”改成你需要的编码,第一个函数是西里尔文编码转化成UTF8编码,第二个函数是UTF8编码转化成西里尔文编码,欢迎大家来交流。 /// /// 西里尔文编码转化成UTF8编码 /// public void XiLiErToUTF8() {原创 2013-05-09 17:41:11 · 805 阅读 · 0 评论 -
语言独立性:公共语言运行时
本章介绍一些基本概念,譬如程序集、元数据和公共语言运行时(CLR)。你将会了解到如何编写客户端和类库程序集,以及某一程序集的客户端如何使用另一程序集中的二进制组件。本章随后讨论了.NET如何实现二进制兼容,同时展示了.NET如何支持先前章节介绍过的这一面向组件的核心原则。语言独立性:公共语言运行时Language Independence: The CLR.NET CLR提供一个公共上转载 2010-07-30 17:55:00 · 1797 阅读 · 0 评论 -
编译器与解释器的不同
为了让更多的人能够从本质上理解编译器和解释器的区别,我杜撰了一个小故事来福与旺财的养牛场来福和旺财有一个养牛场。本来养牛不是一件太难的事情,但是偏偏他俩养的牛都有特别的怪癖。奶牛阿圆只吃切成圆形的牧草,而奶牛阿方和阿三(印度来的?)分别只吃切成正方形和三角形的牧草。如果来福和旺财拿不和奶牛性格的草去喂食,阿X们不但不产奶而且还会鄙视来福和旺财。于是来福和旺财分别有了自己的主转载 2010-08-10 11:37:00 · 364 阅读 · 0 评论 -
NET正则表达式入门金典
在探讨这个话题之前,咱们先通过一个例子来看下为什么需要正则表达式?先来看下面一个例子,解析如下IP:192.160.1.234[port=8080,type=ftp]将上述表达式中的IP地址,端口号和端口类型提取出来。没有正则表达式之前,大家猛的一看,估计崩溃了。没办法,用string类的方法截取呗。于是,我们写下了如下代码: string str = "转载 2013-05-20 09:53:59 · 620 阅读 · 0 评论 -
Hashtable类 散列表的基本原理和用法
Hashtable类散列表(Hashtable)又叫做字典(Dictionary),能够非常快速的添加、删除和查找元素,是现在检索速度最快的数据结构。 原文链接:http://www.cnblogs.com/BeginnerClassroom/archive/2009/10/17/1584847.html转载 2013-08-28 11:29:12 · 637 阅读 · 0 评论