Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > 总体了解C#(7-8 集合和foreach语句/结构)
【标  题】:总体了解C#(7-8 集合和foreach语句/结构)
【关键字】:c,C,for,C#,结构,or,foreach
【来  源】:网络

总体了解C#(7-8 集合和foreach语句/结构)

Your Ad Here

7.集合和foreach语句

C#提供一个for循环的捷径,而且它还促进了集合类更为一致:

在Java或C++中:

1. while (! collection.isEmpty())

{

Object o = collection.get();

collection.next()

//...

2. for (int i = 0; i < array.length; i++)

//...

在 C#中:

1. foreach (object o in collection)

//...

2. foreach (int i in array)

//...

C#的for循环将工作于集合对象上(数组实现一个集合)。集合对象有一个GetEnumerator()方法,该方法返回一个Enumerator对象。Enumerator对象有一个MoveNext()方法和一个Current属性。

8.结构

把C#的结构视为使语言的类型系统更为优雅而不仅是一种“如果你需要的话可以利用之写出真正有效率的代码”的概念更好些。

在C++中,结构和类(对象)都可分配在栈或堆上。在C#中,结构永远创建在栈上,类(对象)则永远创建在堆上。使用结构实际上可以生成更有效率的代码:

public struct Vector

{

public float direction;

public int magnitude;

}

Vector[] vectors = new Vector [1000];

这将把1000个Vector分配在一块空间上,这比我们把Vector声明为类并使用for循环去实例化1000个独立的Vector来得有效率得多。【译注:因怀疑原文有误,此处故意漏译一句,但不应影响你对这节内容的理解】:

int[] ints = new ints[1000];//【译注:此处代码有误,应为int[] ints = new int[1000];】

C#完全允许你扩展内建在语言中的基本类型集。实际上,C#所有的基本类型都以结构方式实现的。int型只不过是System.Int32结构的别名,long型不过是System.Int64结构的别名等等。这些基本类型当然可被编译器特别处理,但是语言本身并无区别【译注:意思是语言自身对处理所有类型提供了一致的方法】。在下一节中,我们可看到C#是如何做到这一点的。


总体了解C#(6 枚举):【上一篇】
总体了解C#(9 类型一致):【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • ASP.NET通过DSO访问分析服务器的权限问题
  • 进程与病毒—妙用系统进程手工杀毒
  • 深入剖析JSP和Servlet对中文的处理(2)
  • php+apache配置Forbidden解决
  • Flash MX 2004 导入Adobe文档
  • [更新]lumaqq new version & new patch (05/07/2005)
  • 特效
  • 开始学习vi
  • 临阵磨枪
  • Google版操作系统现身
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.