c#基础之数组与接口使用示例(遍历数组 二维数组)


在C#中,数组是一种基本的数据结构,用于存储相同类型的元素集合。接口则是一种引用类型,是一种抽象的类型,它指定了一组方法但不实现它们。下面我将提供一个C#的示例,演示如何使用数组(包括一维数组和二维数组)以及一个简单接口的实现。

### 1. 一维数组的遍历

首先,我们定义一个一维数组并遍历它:


using System;

class Program
{
    static void Main(string[] args)
    {
        int[] numbers = { 1, 2, 3, 4, 5 };

        // 遍历一维数组
        foreach (int number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

### 2. 二维数组的遍历

接下来,我们定义一个二维数组并遍历它:


using System;

class Program
{
    static void Main(string[] args)
    {
        int[,] matrix = {
            { 1, 2, 3 },
            { 4, 5, 6 },
            { 7, 8, 9 }
        };

        // 遍历二维数组
        for (int i = 0; i < matrix.GetLength(0); i++) // 获取行数
        {
            for (int j = 0; j < matrix.GetLength(1); j++) // 获取列数
            {
                Console.Write(matrix[i, j] + " ");
            }
            Console.WriteLine(); // 换行
        }
    }
}

### 3. 接口的使用示例

为了展示接口的使用,我们定义一个简单的接口和一个实现了该接口的类。假设我们有一个`IAnimal`接口,它声明了一个`Speak`方法,然后有一个`Dog`类实现了这个接口:


using System;

// 定义接口
interface IAnimal
{
    void Speak();
}

// Dog类实现IAnimal接口
class Dog : IAnimal
{
    // 实现接口中的方法
    public void Speak()
    {
        Console.WriteLine("Woof!");
    }
}

class Program
{
    static void Main(string[] args)
    {
        IAnimal myDog = new Dog();
        myDog.Speak(); // 输出: Woof!
    }
}

在这个例子中,`Dog`类通过实现`IAnimal`接口中的`Speak`方法,成为了`IAnimal`的一个具体实现。然后,我们通过`IAnimal`类型的变量`myDog`来引用一个`Dog`实例,并调用其`Speak`方法。这展示了接口在C#中作为抽象类型的作用,以及如何通过接口引用实现了该接口的类的实例。