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);
            }

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

原文地址:https://www.cnblogs.com/ylwn817/p/2053375.html