C#中的数组

本文介绍了C#中的数组,包括一维数组、多维数组和数组的数组。对比C语言,C#中数组索引仍从0开始,但越界会引发运行时异常,且数组作为对象存储在堆中。C#的多维数组语法与C语言不同,二维数组的索引使用[i,j]。数组的数组在C#中允许不同子数组长度,但在数据计算中使用较少。" 131418778,16416784,不平衡数据处理:技术与实战,"['数据预处理', '机器学习', '数据科学', '模型评估']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在数据结构算法,以及科学计算中,数组是必不可少的工具。习惯了C中简单直接的数组表达方式的程序员,初次使用C#中的数组时,可能会有一些茫然。本文采用对比的方式来学习C#数组的使用方式。本文不介绍那些语法糖的东西,尽管语法糖有时候能大大地简化代码。

1 一维数组

C 语言中一维数组实例代码如下:

#include <stdio.h>

int main(int argc, char** argv)
{
    int a[10];
    int i = 0;
    for(i=0; i<=10; i++)  //当i=10时,数组越界
    {   
        a[i] = i;
    }   
}

总结特点: (1)索引从0开始;(2)越界不会引发错误;(3)数组默认存放到栈内存中;(4)声明时必须制定长度;

C#中同样功能的代码如下:

class Test
    {
        static void Main()
        {
            int[] a;
            a = new int[10];
            for (int i = 0; i <= 10; i++) //i=10时,会抛出异常
            {
                a[i] = i;
            }
        }
    }

上述代码编译时通过,运行时发生异常。

总结特点:(1)索引从0开始;(2)越界运行时会产生异常;(3)数组本身是对象,所以存放到堆内存中;(4)声明语法与C有差异;(5)创建对象而不是声明时指定长度;


2 多维数组

多维数组在C和C#中的语法格式差别较大。以二维数组为例。先看C的:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值