• C#语言学习之旅(4):数组


    本章节主要来讲一些关于数组的问题。

    如果需要使用同种类型的多个对象,就可以使用集合和数组。

    4.1 数组定义和初始化

    int[] myArray;

    数组是引用类型,所以必须给它分配堆上的内存。

    int[] myArray=new int[4]{1,2,3,4};或者int[] myArray={1,2,3,4};

    4.2 访问数组元素

    int i=myArray[1];

    myArray[3]=4;

    如果使用错误的索引器值,就会抛出IndexOUtOfRangeException类型的异常。

    4.3 使用引用类型

    Person类
        public class Person
        {
            
    public Person()
            {

            }

            
    public Person(string firstName, string lastName)
            {
                
    this.FirstName = firstName;
                
    this.LastName = lastName;
            }

            
    public string FirstName { getset; }


            
    public string LastName { getset; }

            
    public override string ToString()
            {
                
    return String.Format("{0} {1}", FirstName, LastName);
            }
      
        }

    声明一个包含两个person元素的数组。

    person myPerson=new person[2];

    myPerson[1]=new person{"1","2"};

    myPerson[2]=new person{"3","4"};

    4.4 Array类

    Array类为C#每个数组定义了方法和属性。比如length属性,或者使用foreach语句的迭代数组。Array类是一个抽象类,所以不能使用构造函数来创建数组。 创建数组不但可以使用上面介绍的简单数组创建方法,也可以使用静态方法CreateInstance()创建数组。

    下面给出一个简单的例子:

    Array示例

     4.5 数组和集合接口

    Array实现了IEnumerable、ICollection和IList接口,以访问和枚举数组中的元素。

    IEnumerable接口是由foreach语句用于迭代数组的接口。
    ICollection接口派生于IEnumerable接口并添加了Count属性等方法,这个接口主要是用于确定集合的元素个数或用于同步。
    IList接口派生于ICollection接口主要定义了Item属性。

    4.6 yield语句

    yield主要是方面创建枚举器。yield return语句返回集合的一个元素,并移动到下一个元素上。yield break可停止迭代。在包含yield语句的方法或属性叫做迭代块。迭代快必须声明返回IEnumerator或者IEnumerable接口。一个块中可以包含多个

    yield return,yield break语句,但不能包含return语句。下面为实例:
    yield示例
      #region yield示例
        
    public class HelloCollection
        {
            
    public IEnumerator GetEnumerator()
            {
                
    yield return "Hello";
                
    yield return "World";
            }
        }

        
    #endregion


                HelloCollection hello 
    = new HelloCollection();
                
    foreach(string s in hello)
                {
                    Console.WriteLine(s);
                }

     小结:本章节就写到这些,写的有点过于简单,希望见谅。下一章节为运算符和转换

  • 相关阅读:
    Hibernate连接mysql数据库的配置
    opendaynight(karaf) 和 mininet测试openflow
    电信新势力,TIP/CORD能颠覆电信设备商吗?
    minnet sample
    ONIE
    升级Mininet自带的OpenvSwitch & 编译OpenvSwitch
    mininet test
    dpctl 命令实践
    白盒交换机
    Wedge 100-32X 100GbE Data Center Switch
  • 原文地址:https://www.cnblogs.com/ylwn817/p/2053375.html
Copyright © 2020-2023  润新知