C#基础之数组

Int[] a ; //声明一维数组

Int[,] b;//声明二维数组

Int[][] c;//声明数组的数组,也称为锯齿数组

数组的每一个元素都分配在内存的托管堆上,数组只是保存了一个指向值的指针。数组元素是连续分配的,数组是引用类型。

数组声明赋值

如果数组是在声明后才进行赋值,必须通过new关键字和对应的数据类型。下列代码错误:

{int[] myArray = new int[4]; myArray={1,2,3,4};}

声明二维数组

Int[,] cells={{1,2,3},{4,5,6},{7,8,9}};

Int I =cells.GetLength(0);//获取第一维的长度

Int i= cells.GetUpperBound(0);

Int j =cells.GetLenght(1);//获取第二维的长度

Int j= cells.GetUpperBound(1);

初始化交错数组(锯齿)

Int [][] list =new int[2][];

List[0]=new int[3]{1,2,3};

List[1]=new int[5]{1,2,3,4,5};

Int[][] cells={

New int[] {1,2,3,4},

New int[] {4,5,6},

New int[] {7,8},

New int[] {9}

};

赋值

Int[][] Num=new int[6][];

For(int i=0;i<6;i++)

{

   Num[i]=new int[7];

   For (int j=0;j<7;j++)

   {

      Num[i][j]=j;

}

}

遍历锯齿数组

Foreach(int [] items in cells)

{

   Foreach(int item in items)

{

        Console.write(item);

}

}

动态定义数组长度

IList<int> iList=new List<int>();

For(int i=0;i<=10;i++)

{

   iList.Add(i);

}

Int[] intArray=iList.ToArray<int>();

 

数组和集合可以执行带GetEumerator方法的IEumerable接口。GetEumerator方法返回一个执行IEumerable接口的枚举。

string[] s = new string[5] { "火车", "汽车", "飞机", "自行车", "轿车" };

IEnumerator myEnum = s.GetEnumerator();

while (myEnum.MoveNext())

{

string str = myEnum.Current.ToString();

Console.WriteLine(str);

}

Console.ReadKey();

将两个一维数组合并成一个二位数组
//将两个一维数组合并成一个二位数组
            char[] arr1 = new char[] { 'a', 'b', 'c', 'd' };
            char[] arr2 = new char[] { 'e', 'f', 'g' };
            char[,] arr3 = new char[2, 4];
            //arr3 .Rank是获取arr3数组的维度=2
            for (int i = 0; i < arr3.Rank; i++)
            {
                switch (i)
                {
                    case 0:
                        {
                            for (int j = 0; j < arr1.Length; j++)
                            {
                                arr3[i, j] = arr1[j];
                            }
                            break;
                        }
                    case 1:
                        {
                            for (int j = 0; j < arr2.Length; j++)
                                arr3[i, j] = arr2[j];
                            break;
                        }
                }
            }
            //循环输出
            for (int i = 0; i < arr3.Rank; i++)
            {
                //arr3.GetUpperBound(arr3.Rank - 1)的作用是获取arr3的第arr3.Rank-1维的数组的索引上限
                for (int j = 0; j < arr3.GetUpperBound(arr3.Rank - 1) + 1; j++)
                {
                    Console.Write(arr3[i, j] + " ");
                }
                Console.WriteLine();
            }
            Console.ReadKey();
使用Array类创建下标不从[0,0]开始的二维数组
            //使用Array类创建下标不从[0,0]开始的二维数组 索引基于[1,2]
            //Array类允许将已创建的数组轻质转换成声明为int[]的数组。
            int[] lengths = { 2, 4 };
            int[] lowerBounds = { 1, 2 };
            //CreateInstace方法的第一个参数表示数组的数据类型
            //第二个参数表示包含要创建数组每个维度大小的数组
            //第三个参数表示包含要创建数组缩影下限的数组
            Array arrayList = Array.CreateInstance(typeof(int), lengths, lowerBounds);
            arrayList.SetValue(1, 1, 2);
            arrayList.SetValue(2, 1, 3);
            arrayList.SetValue(3, 1, 4);
            arrayList.SetValue(4, 1, 5);
            arrayList.SetValue(5, 2, 2);
            arrayList.SetValue(6, 2, 3);
            arrayList.SetValue(7, 2, 4);
            arrayList.SetValue(8, 2, 5);

            for (int i = 1; i < arrayList.GetLength(0) + 1; i++)
            {
                for (int j = 2; j < arrayList.GetLength(1) + 2; j++)
                {
                    Console.Write(arrayList.GetValue(i, j) + " ");
                }
                Console.WriteLine();
            }
            Console.ReadKey();
枚举
 enum Colors
        {
            Red = 1,
            Green = 2,
            Blue = 4,
            Yellow = 8
        }
  static void Main(string[] args)
        { 
//枚举
            foreach (string colorName in Enum.GetNames(typeof(Colors)))
            {
                Console.WriteLine("{0}={1}", colorName, Convert.ToInt32(Enum.Parse(typeof(Colors), colorName)));
            }
            Console.WriteLine();
            Colors myOrange = (Colors)Enum.Parse(typeof(Colors), "Red,Yellow");//强制转换
            Console.WriteLine("{0}={1}",myOrange ,Convert .ToInt64 (myOrange ));
            Console.ReadKey();
}


在DataGridView中显示二维数组

在DataGridView中显示二维数组
string[,] grayArr = OperCls.CalcQulitRateString();
                int RowNum = grayArr.GetLength(0);//获得第一维的长度
                int ColumnNum = grayArr.GetLength(1);//获得第二维的长度
                DataTable dt = new DataTable();
                for (int i = 0; i < ColumnNum; i++)
                {
                    dt.Columns.Add(i.ToString(), typeof(string));
                }
                for (int i = 0; i < RowNum; i++)
                {
                    DataRow dr = dt.NewRow();
                    for (int j = 0; j < ColumnNum; j++)
                    {
                        dr[j] = grayArr[i, j];
                    }
                    dt.Rows.Add(dr);
                }
                dataGridView1.DataSource = dt;

 

注:本文整理自网络!!!

转载于:https://www.cnblogs.com/YuanSong/archive/2012/07/20/2600941.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
疫情居家办公系统管理系统按照操作主体分为管理员和用户。管理员的功能包括办公设备管理、部门信息管理、字典管理、公告信息管理、请假信息管理、签到信息管理、留言管理、外出报备管理、薪资管理、用户管理、公司资料管理、管理员管理。用户的功能等。该系统采用了MySQL数据库,Java语言,Spring Boot框架等技术进行编程实现。 疫情居家办公系统管理系统可以提高疫情居家办公系统信息管理问题的解决效率,优化疫情居家办公系统信息处理流程,保证疫情居家办公系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理疫情居家办公系统信息,包括外出报备管理,培训管理,签到管理,薪资管理等,可以管理公告。 外出报备管理界面,管理员在外出报备管理界面中可以对界面中显示,可以对外出报备信息的外出报备状态进行查看,可以添加新的外出报备信息等。签到管理界面,管理员在签到管理界面中查看签到种类信息,签到描述信息,新增签到信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值