易截截图软件、单文件、免安装、纯绿色、仅160KB

Asp.net之 类和结构的区别

1、类是引用类型,结构则是值类型。因此结构是放在栈(Stack)里,类则仅仅是将引用地址存放在栈里,而具体的值则存放在堆(heap)里。
2、据第1点可以得出结论,那就是类对象通常用来传递大数据,而结构对象则用来传递小数据。
3、类可以继承和被继承,而结构则不支持。但结构和类一样可以继承自接口。
4、结构对象不能像类对象一样赋值为null。
5、结构没有析构器。类有构造和析构函数。
6、结构不能像类一样定义为抽象的。
7、在结构中不能重写方法,除非是object类型的如下方法:
Equals()
GetHashCode()
GetType()
ToString()
      若要让结构具有多态特性,可以让其实现接口。
8、在类中定义的事件是线程安全的,而结构则不是。
9、结构总是具有一个默认的公共无参构造函数,但却不能像类一样定义私有的无参构造函数(结构也不能再定义公共的无参构造函数,这与类不相同)。
10、类中的静态构造函数会被调用,而结构却不能。因此在结构中定义的静态构造函数,虽然可以编译通过,但却没有价值。
11、结构不能像类一样定义volatile字段。volatile字段主要用于并发,它相当于方法体的lock。
12、可以对结构类型使用sizeof,对类则不行。
13、类的字段会被自动初始化为0/false/null,而结构则不能。
14、在结构中不能直接对字段初始化,而类则可以。
15、结构和类对于System.Object.Equals()方法的体现是不相同的。
==============Test 01=============
 namespace ClassAndStruct
{
class Program
{
static void Main(string[] args)
{
StructTest st = new StructTest(3,4);
Console.WriteLine(st.GetSpace().ToString());//这里输出 12
}
}
public struct StructTest
{
public int length;
public int width;
//结构中不能有实例字段初始值设定项
//public int length=0;
//结构中不能有实例字段初始值设定项
//StructTest structTest = null;
//结构不能包含显式的无参数构造函数
//public StructTest()
//{ }
public StructTest(int a, int b)
{
length = a;
width = b;
}
public int GetSpace()
{
return length * width;


相关文档:

ASP.NET中前台javascript与后台代码调用

问题:
1如何在JavaScript访问C#函数?
2.如何在JavaScript访问C#变量?
3.如何在C#中访问JavaScript的已有变量?
4.如何在C#中访问JavaScript函数?
解答:
问题1、如何在JavaScript访问C#函数?
答案如下:
javaScript函数中执行C#代码中的函数:
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入but ......

ASP.NET服务器控件使用之GridView

1         ASP.NET 服务器控件GridView使用
本教程不介绍服务器端控件的呈现,事件处理,状态等理论知识,只介绍服务器端控件的使用操作,如果您对服务器控件的知识感兴趣,请参阅《ASP.NET服务器控件高级编程》
阅读本文时最好和 文档 《ASP.NET服务器控件使用之Grid ......

asp.net几个是用函数


/// <summary>
  
/// 得到站点用户IP
  
/// </summary>
  
/// <returns></returns>
  
public
 
static
 
string
 getUserIP()   
{   
    
retu ......

[转帖]asp.net Ajax 终极解决方案

  ajax 在目前 web 领域已广泛应用,其真正核心只不过是一个封装好了的 js 库。最五花八门的莫过于 asp.net 的控件,我个人认为 ajax 只是一个轻量级的东西,根本没有必要将它写成服务器组件,如 ajax.net、AjaxControlToolkit 等。所以我一直视这些组件为垃圾。。。
以下说明我为什么不认同 ajax 的相关组件: ......

Asp.net对文件夹和文件的操作类

using System;
using System.IO;
using System.Web;
namespace SEC
{
/**////
/// 对文件和文件夹的操作类
///
public class FileControl
{
public FileControl()
{
}
/**////
/// 在根目录下创建文件夹
///
///
要创建的文件路径
public void CreateFolder(string FolderPathName)
{ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号