这些资料是我学习的时候在网络上寻找到的,发布出来希望对大家有帮助,一起努力前进,嘿嘿......Microsoft C#规范 2.0 版 GFC用户提交

feedsky 抓虾 pageflakes google reader my yahoo bloglines 鲜果 有道 http://wap.feedsky.com/bliplink

Array

using System;

namespace MyArray
{
 //System.Object--->System.Array-->类型[]   由 CLR自动创建 类型[]

 //为了符合CLS的要求,所有数组都必须是0基数组(即最小索引为0)

 //如有可能,应该坚持使用一维0基数组,因为可以使用特殊的IL指令(newarr,ldelem,ldelema,ldlen和stelem)来处理它们,
 //而且这些特殊的IL指令会导致JIT编译器生成优化的代码,性能是最佳的。

 //访问数组元素需要利用索引(index)。
 //数组元素的类型叫做数组的类型。

 //值类型数组(自动清0)、引用类型数组(自动清null)。

 //C#中的数组存在越界检查,同时类型的溢出也会被检查。但在编译时间不检查,而是在运行时检查。

 //new: 
 //      除了数组元素,数组对象所占有的内存块还包含一个类型指针、一个同步索引块,
 //      保存在该数据的内存快的开销部分(overhead);
 //  一些额外的参数信息(数组的元素类型、数组的维数、数组每一维的最低下限<默认为0>和每一维的长度),
 //      保存在该数据的内存块的开销部分(overhead);
 //  返回数组的内存块地址。

 //不规则数组是由数组构成的数组。规则数组的空间是连续的,不规则数组的空间是不连续的。

 //返回数组参数的方法:如果该数组中不含有任何元素,Microsoft强烈建议您让它返回一个零长度的数组,
 //而不是返回一个空引用null,因为这样做能简化开发人员在调用该方法时需要编写的代码
 //同样如果类中的成员变量是一个数组引用,就应该让该成员始终引用数组,即使数组中不含有任何元素。

 class MyArray
 {
  /// <summary>
  /// 应用程序的主入口点。
  /// </summary>
  [STAThread]
  static void Main(string[] args)
  {
   //引用类型数组的类型转换
   //指向同一引用数组
   //数组类型变量的类型如果是数组元素类型的同类或者是基类,就可以进行隐式或显示转换
   string[] sa = new string[100];
   object[] oa = sa;
   oa[0] = "student";
   oa[1] = 5;//编译通过,因为等号右面的类型是左面的类型的同类或者是派生类
             //运行出错,因为运行时(CLR)检查到数组元素的类型为string类型,而实例的类型为int类型。


   // 所有数组都隐式继承自System.Array
   string[] sArray;
   //由 CLR自动创建一个string[]类型,将隐式继承自System.Array,而不时有C#生成IL代码
  
   Array a;
   a = new String[3];
//   a[0]  = "student";

  }
 }
}


友情链接

郑州大学软件学院 SpringWidgets-Blogger 徵信社 翻译公司 链接帮手网 行驶证字体 酷站目录 Friend Connectified