详细讲述C 详细讲述三国演义的历史背景
创始人
2024-06-08 05:10:37
0

C#数组还是比较常用的,于是我研究了一下C#数组和指针,在这里拿出来和大家分享一下,希望对大家有用。

C#数组和指针

1。C#数组和vector的区别在于,C#数组的长度是固定的。C#数组一经创建,就不允许动态的修改长度。指针可以像迭代器一样用于遍历和检索C#数组中的元素。现代C++程序应该尽量使用vector和迭代器类型,而避免使用低级的C#数组和指针。只有在强调速度时,才在类实现的内部使用C#数组和指针。

2。C#数组的缺陷在于没有size()操作,也就是程序员无法知道一个给定C#数组的长度。如果需要更改C#数组的长度,就必须再声明一个更大的C#数组,把原来C#数组的内容copy到新C#数组中去。

3。引用不能定义C#数组。没有所有元素都是引用的C#数组。

4。非const变量和要到运行阶段才知道值的const变量都不能用作C#数组定义的维数。

  1. const unsigned buf_size = 512;  
  2. // const 变量.  
  3. int staff_size = 217;   
  4. // 非const变量.  
  5. const unsigned sz = get_size();   
  6. // 运行时才确定的const变量.  
  7. char buf1[buff_size]; // ok.  
  8. char buf2[buff_size + 1];   
  9. // ok, 常量计算表达式.  
  10. double salaries[staff_size];  
  11. // error, 非const变量做维数.  
  12. int test_rest[sz];  
  13. // error, 运行时才确定的const变量.  

5。默认初始化。
在函数外定义的内置类型C#数组,元素都初始化0。函数内定义的内置类型C#数组,元素都无初始化过程。如果是类类型的C#数组,无论在哪里定义,都调用默认构造函数初始化。

6。显示初始化。

  1. int ia[3] = {0, 1, 3};  
  2. char ca1[] = {’c’, ’+’, ’+’};  
  3. char ca2[] = {’c’, ’+’, ’+’, ’\\0’}; [Page]  
  4. char ca3[] = \"c++\";/
  5. / ca3和ca2有相同的维数和初始化值,含有四个元素.  
  6. char ca4[3] = \"c++\"
  7. // 这会产生一个编译错误,因为\"c++\"是一个长度为4的字符串.  
  8. string str_arr[3] = {\"hi\", \"heipi\"}; 
  9. // str_arr[2]是一个值为空的string类型元素.  

7。与vector不同,一个C#数组不能用另外一个C#数组初始化,也不能将一个C#数组赋值给另一个C#数组。个别编译器扩展功能,支持C#数组复制,但是如果希望编写的程序能在不同的编译器上运行,应该避免这类应用。

【编辑推荐】

  1. C#数组基础介绍与操作详解
  2. 浅析C#数组初始化性能测试
  3. C#数组操作详细剖析
  4. 浅析C#数组操作方法
  5. C#数组和串操作经验总结

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...