当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 其实在介绍Struct之前,我们应对C#关于类(Class)的原理进行初步的研究。
 

 

 ·c#规范漫谈    »显示摘要«
    摘要: 作为有关 c# 语言规范漫谈的继续,本月我们将讨论运算符重载的问题。运算符重载(除非特别指明,否则本专栏的其余部分一律将其简称为“重载”)是指允许用户使用用户定义的类型编写表达式的能力。它允许用户定义的类型与预定义的类型具有相同的功能。 例如,通常需要编写类似于以下内容的代码,以将两个数字相加。很明显,sum 是两个数字之和。 int i = 5; int sum = i ......
 ·一个数据操作底层类    »显示摘要«
    摘要: 我对这个类不是很满意,如果你有改进意见请联系我,不胜感激. 主要将对数据库的操作简单封装了一下 using system; using system.collections; using system.componentmodel; using system.data; using system.diagnostics; using system.configuration......


关于C#中的结构
其实在介绍struct之前,我们应对c#关于类(class)的原理进行初步的研究.但是,从另一个方面,我们也可以先对这个与类有着血缘关系的结构进行探讨以获得对类的进一步的认识.

结构也有其重要的限制,所以导致他只能用于非常特殊的场合. 以下就讨论他们的局限性与他的优点. 【程序编程相关:上传图片并修改其大小(C#)

首先,c#的结构是一个关系重大的语言功能.与类一样,结构也可以包含其他类型.由于结构在内部是值类型的,所以结构有时也被称为类的轻型版本.同时,结构不承担引用对象所带来的开销,除非在对其装箱时例外. 【推荐阅读:解读邮件发送CDO.Message错误

[attributes][modifiers] struct <structname> [:interfaces] 【扩展信息:Pygame接口应用·递归分形

结构的定义与类的定义基本上是一致的:

{

[struct-body]

}[;]

为了便于理解,我举个实例来展开论述.我们首先定义一个描述具体事物的结构体——"611311班".

struct stuclass{

public string classname;

public object classmumber;

public int classnumber;

}

到目前为止,这个声明很像一个类.但是,下面你将看到在使用结构方面的许多限制.

客户不必对结构进行实例化(通过new关键字).这是因为,作为一种值类型,结构一旦被声明,就被分配.

但是正是有了这种用法,所以我们如果不亲自对结构的成员进行显式的初始化(使用new关键字),那么字段就不会被初始化.如下面这段代码,编译将会出错:

stuclass s611311;

console.writeline(s611311.classname);

以下的代码将会纠正这个错误.
...   下一页
 ·c#下socket对象的beginreceive方法    »显示摘要«
    摘要: 到底是怎么回事?仅仅发生在我的机器上,修改了ip配置后放到别的机器上是没有任何问题的,可以很好的回调。难道我的机器有何异常?请教高手了! 某一线程下socket对象user.sock开始执行beginreceive语句: user.sock.beginreceive(user.buffer,0,user.buffersize,0,new system.asynccallb......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE