C#语言基础速成Day04

“好读书,不求甚解;每有会意,便欣然忘食。”


前言

昨天我们学习了C#语言的一维数组,今天我们来学习C#语言的二维数组和结构体:
在C#中,可以使用二维数组来存储表格形式的数据。在一些算法题中,也是非常常见的。


文章有误敬请斧正 不胜感恩!||Day03

提示:以下是本篇文章正文内容,下面案例可供参考

一、C#二维数组

声明二维数组

你可以使用以下语法来声明一个二维数组:

// 声明一个 2x3 的二维数组
int[,] array = new int[2, 3];

初始化二维数组

你可以在声明时直接初始化数组的元素:

// 声明并初始化一个 2x3 的二维数组
int[,] array = new int[,] {
    { 1, 2, 3 },
    { 4, 5, 6 }
};

访问二维数组的元素

你可以通过索引来访问和修改数组中的元素:

// 访问二维数组中的元素
int value = array[0, 1];  // 获取第一行第二列的元素,值为2

// 修改二维数组中的元素
array[1, 2] = 10;  // 将第二行第三列的元素修改为10

示例代码

下面是一个完整的示例代码,展示了如何声明、初始化、访问和遍历一个二维数组:

using System;

class Program
{
    static void Main()
    {
        // 声明并初始化一个 2x3 的二维数组
        int[,] array = new int[,] {
            { 1, 2, 3 },
            { 4, 5, 6 }
        };

        // 访问并打印二维数组中的元素
        Console.WriteLine("Element at [0, 1]: " + array[0, 1]);  // 输出:2

        // 修改二维数组中的元素
        array[1, 2] = 10;

        // 遍历并打印整个二维数组
        for (int i = 0; i < array.GetLength(0); i++)
        {
            for (int j = 0; j < array.GetLength(1); j++)
            {
                Console.Write(array[i, j] + " ");
            }
            Console.WriteLine();
        }
    }
}

运行上述代码会输出:

Element at [0, 1]: 2
1 2 3 
4 5 10 

这个示例展示了如何声明、初始化、访问、修改和遍历一个二维数组。希望这些内容对你有帮助!如果你有其他问题,随时告诉我。

二、C#语言结构体

在C#中,结构体(struct)是一种值类型,用于封装一组相关的数据。与类(class)不同,结构体是值类型,而不是引用类型,这意味着结构体的实例在赋值或传递时会被复制。

声明和使用结构体

以下是如何声明和使用结构体的示例:

声明结构体

你可以使用struct关键字来声明一个结构体:

// 声明一个结构体
public struct Point
{
    public int X;
    public int Y;

    // 构造函数
    public Point(int x, int y)
    {
        X = x;
        Y = y;
    }

    // 方法
    public void Display()
    {
        Console.WriteLine($"Point: ({X}, {Y})");
    }
}

初始化和使用结构体

你可以像使用其他数据类型一样,使用结构体:

using System;

class Program
{
    static void Main()
    {
        // 使用构造函数初始化结构体
        Point point1 = new Point(10, 20);
        point1.Display();  // 输出:Point: (10, 20)

        // 使用默认构造函数初始化结构体,并手动赋值
        Point point2;
        point2.X = 30;
        point2.Y = 40;
        point2.Display();  // 输出:Point: (30, 40)

        // 结构体是值类型,赋值会复制其内容
        Point point3 = point1;
        point3.X = 50;
        point3.Display();  // 输出:Point: (50, 20)
        point1.Display();  // 输出:Point: (10, 20)
    }
}

结构体的特性

  1. 值类型:结构体是值类型,在赋值和传递时会被复制。
  2. 不支持继承:结构体不能从另一个结构体或类继承,也不能被继承。
  3. 可以实现接口:结构体可以实现一个或多个接口。
  4. 无参数构造函数:结构体可以有构造函数,但不能定义无参数构造函数(编译器会提供一个默认的无参数构造函数)。

何时使用结构体

结构体通常用于表示小而简单的数据结构,这些数据结构的实例频繁地被创建和销毁,或者需要高效的内存管理。常见的使用场景包括几何坐标、颜色值和时间点等。

示例

下面是一个更复杂的示例,展示了结构体的更多功能:

using System;

public struct Rectangle
{
    public Point TopLeft;
    public Point BottomRight;

    public Rectangle(Point topLeft, Point bottomRight)
    {
        TopLeft = topLeft;
        BottomRight = bottomRight;
    }

    public void Display()
    {
        Console.WriteLine($"Rectangle: TopLeft({TopLeft.X}, {TopLeft.Y}), BottomRight({BottomRight.X}, {BottomRight.Y})");
    }
}

class Program
{
    static void Main()
    {
        Point p1 = new Point(0, 0);
        Point p2 = new Point(10, 10);

        Rectangle rect = new Rectangle(p1, p2);
        rect.Display();  // 输出:Rectangle: TopLeft(0, 0), BottomRight(10, 10)
    }
}

希望这些内容能帮助你更好地理解和使用C#中的结构体。今天家里停电啦!就更新到这里,我们明天见。

总结

今天我们介绍了在C#中如何声明、初始化、使用二维数组和元素访问方法。。主要内容包括:

  1. 声明二维数组:使用int[,]语法声明一个2x3的二维数组。
  2. 初始化二维数组:在声明时直接初始化数组的元素。
  3. 访问和修改二维数组的元素:通过索引访问和修改数组中的特定元素。
    明天见!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

blaizeer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值