永发信息网

(c#) 如何在List中添加二维数组

答案:3  悬赏:10  手机版
解决时间 2021-02-07 06:46
例如 定义 :
int[,] a1=new int[5,5];
int[,] a2=new int[5,5];
如何将这两个对象添加到list数组中去,并且如何访问。
最佳答案
using System;
using System.Collections.Generic;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] x = { 1, 2, 3, 4 };
            Console.WriteLine("插入前");
            PrintArray(x);
            try
            {
                x = InsertNumber(x, 10, 4);
                Console.WriteLine("在 Index=4 处插入10后");
                PrintArray(x);

                x = InsertNumber(x, 100, 0);
                Console.WriteLine("在 Index=0 处插入100后");
                PrintArray(x);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

        }

        /// 
        /// 将value 插入到指定数组的指定的位置
        /// 

        /// 指定数组
        /// 待插入的元素
        /// 插入的位置
        /// 插入后的数组
        static int[] InsertNumber(int[] a, int value, int index)
        {
            try
            {
                //转换成List集合
                List list = new List(a);
                //插入
                list.Insert(index, value);
                //从List集合,再转换成数组
                return list.ToArray();
            }
            catch (Exception e)  // 捕获由插入位置非法而导致的异常
            {
                throw e;
            }
        }

       /// 
        /// 打印数组
        /// 

        static void PrintArray(int[] a)
        {
            foreach (int x in a)
            {
                Console.Write("{0} ", x);
            }
            Console.WriteLine();
        }
    }
}
全部回答
ArrayList本身只支持1维,如果要实现2维的话,一种做法是ArrayList里面再放ArrayList。 ArrayList list = new ArrayList(); for(int i = 0; i < 5; i++){ list.Add(new ArrayList()); } 可以这样访问: object obj = list[a][b]; 这样可以么?

这个要与年份相关联的吧,有闰年的存在,二月不是个定数……

int year = 1999;//年份变量,可以动态获取一个,只要赋给这个变量就可以了

int[][] date = new int[12][];//二维数组

for(int i = 0;i< date.length;i++)

{

    int day = 31;//每月天数

    switch(i+1){     case 4:     day = 30;     break;     case 6:     day = 30;     break;     case 9:     day = 30;     break;     case 11:     day = 30;     break;     case 2:     day = 28;     if(year % 4 == 0)//判断闰年

    {     if(i % 100 != 0 || i%400 ==0)

    {     day = 29;     }     }     break;     default:     break;          }

    date[i] = new int[day];//日期数组

    for(int j=0;j<day;j++)

    {

    date[i][j] = j+1;//为日期赋值

    }

}

使用的时候:

for(int i = 0;i< date.length;i++)//遍历操作

{     for(int j=0;j<date[i].length;j++){     具体操作;     }

}

也可以根据月份获得日期数组,例如,获得二月:

int[] month_2 = date[1];

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
打篮球,三步上篮步子要很大吗?
国家电网(歙县城北供电营业厅)地址在什么地方
如何用ModelSim se完全编译Xilinx库文件
鬼针草嫩的能做汤喝吗
汉语言文学专业非师范类和师范类在学科学习上
有谁是吸血鬼吗?我也想变成吸血鬼!
扣篮对决上有一个对篮球专业解析的网站是什么
李记猪肚鸡来宾NO.5这个地址在什么地方,我要
国家电网(黎阳供电营业厅)地址在什么地方,我
从海口美兰机场到凤翔路158号丽华大酒店怎么
攸县招商局在什么地方啊,我要过去处理事情
国家电网(黄山风景区供电营业厅)地址好找么,
“推敲”一词是由韩愈作诗时思考究竟用“推”
我买的苹果5se3288元是不是贵了
荣兴水泥地址在哪,我要去那里办事
推荐资讯
怎么把快玩里的游戏记录存转到别的电脑上?
宏远门业这个地址在什么地方,我要处理点事
有什么工具可以让WINDOWS访问MAC硬盘吗
关于对高中文理分科看法调查问卷
珠海体校的入学条件
想知道: 茂名市 高山北斗星 在哪
沈阳大东区初一化学暑假补习到底哪里比较不错
马凡氏综合症遗传问题
细阳板面王在哪里啊,我有事要去这个地方
中铁二十二局最新中标广州
烟台市武术学会宝康分会这个地址在什么地方,
韩国明洞水暖床垫体验馆(河南总代理)地址好找
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?