C#练习笔记4:枚举和数组练习

  枚举的意义,位标志,Flags,实现和比较。数组的分类,主要练习矩形数组和交错数组

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication7
{
    class Program
    {
        static void Main(string[] args)
        {

            //枚举
            Console.WriteLine("枚举:");
            MyEnum me1 = MyEnum.red;
            MyEnum me2 = MyEnum.green;

            //位运算
            MyEnum me = me1 | me2;
       //可以进行与,或运算等
            MyEnum mea = MyEnum.red | MyEnum.green;
            Console.WriteLine(mea.GetType());

            Console.WriteLine( mea.HasFlag(me));//是否包含me里面的所有枚举
            Console.WriteLine(mea==me);
            Console.WriteLine((int)mea);
            Console.WriteLine(me);
            Console.WriteLine((int)me);
            Console.WriteLine();
            //数组,
            Console.WriteLine("数组:");
            int[][,] ay = new int[2][,];
            ay[0] = new int[,]
            {
                {5,60},
                {6,32 }
            };
            ay[1] = new int[,]
            {
                {65,5,6},
                {4,3 ,5}
            };

            Console.WriteLine("第一个数组:");
            for (int i = 0; i < ay.Length; i++)
            {
                for (int j = 0; j < ay[i].GetLength(0); j++)//这里获取的是ay[i]的第一维度的长度
                {
                    for (int k = 0; k <ay[i].GetLength(1);k++)//这里获取的是第二维度的长度
                    {
                        Console.Write("ay[{0}][{1},{2}]={3}\t",i,j,k,ay[i][j,k]);
                    }
                    Console.WriteLine();
                }
                Console.WriteLine();
            }

            Console.WriteLine("第二个数组:");
            int[][] array=new int[3][];
            array[0] = new int[] { 5,3};
            array[1] = new int[] { 5, 6, 9 };
            array[2] = new int[] { 6, 5, 9, 6 };
            Console.WriteLine(array.Length);
            for (int i = 0; i < array.Length; i++)
            {
                for(int j=0;j<array[i].GetLength(0);j++)
                {
                    Console.WriteLine("array[{0}][{1}]={2}\t",i,j,array[i][j]);
                }
                Console.WriteLine();
            }

            Console.WriteLine("第三个数组:");
            int[][] arr = new int[2][]
            {
                new int[]{6,5 },
                new int[]{ 6,9,3}
            };
            for(int i=0;i<arr.Length;i++)
            {
                for(int j=0;j<arr[i].GetLength(0);j++)
                {
                    Console.WriteLine("arr[{0}][{1}]={2}\t",i,j,arr[i][j]);
                }
                Console.WriteLine();
            }

            //矩形数组
            int[,] arry = new int[2, 3]
            {
                {1,2,3 },
                { 1,6,9},
            };

            Console.Read();
        }
    }

    //枚举
    [Flags]//位标志
     enum MyEnum:int
    {
        red=0x02,
        green=0x04,
        black=0x08
    }
}

  运行结果:

  

  

时间: 2024-10-18 03:55:59

C#练习笔记4:枚举和数组练习的相关文章

JavaScript学习笔记【3】数组、函数、服务器端JavaScript概述

笔记来自<JavaScript权威指南(第六版)> 包含的内容: 数组 函数 服务器端JavaScript概述 数组 数组是动态的:根据需要它们会增长或缩减,并且在创建数组时无须声明一个固定的大小或在数组大小变化时无须重新分配空间. 数组可能是稀疏的:索引不一定要连续的,它们之间可以有空缺. 通常,数组的实现是经过优化的,用数字索引来访问数组元素一般来说比访问常规的对象属性要快很多. 数组继承自Array.prototype中的属性,它定义了一套丰富的数组操作方法. 如果省略数组直接量中的某个

C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com

原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 本文由 arthinking 发表于315 天前 ⁄ itzhai.com原创文章 ⁄ C语言 ⁄ 评论数 3 ⁄ 被围观 1,775 views+ 指针数组: 在一个数组中,如果它的元素全部都是指针类

【OpenGL 学习笔记04】顶点数组

通过之前的学习,我们知道,如果要绘制一个几何图形,那就要不断的调用绘制函数,比如绘制一个20条边的多边形,起码要调用22条函数(包含glBegin和glEnd). 所以OpenGL提供了一系列的顶点数组函数减少函数调用的次数来提高性能.而且使用顶点还可以避免顶点共享的冗余处理. 1.简单示例 先来回顾一下之前我们是怎么画直线的: void drawOneLine(GLfloat x1,GLfloat y1,GLfloat x2,GLfloat y2) { glBegin(GL_LINES); g

C语言学习笔记(五) 数组

数组 数组的出现就是为了解决大量同类型数据的存储和使用的问题: 数组的分类:一维数组.二维数组. 一维数组:为多个变量连续分配存储控件:所有的变量的数据类型必须相同:所有变量所占的字节大小必须相等: 例如:int a[4]; 一维数组名不代表数组中的所有元素而是代表数组中第一个元素的地址: 数组的初始化: 完全初始化: int a[4] = {1,2,3,4}; 不完全初始化: int a[4] = {1};  未被初始化的元素的值默认为0; 数组清零 int a[4] = {0}; 不初始化:

《C++ Primer 4th》读书笔记 第4章-数组和指针

原创文章,转载请注明出处: http://www.cnblogs.com/DayByDay/p/3911573.html <C++ Primer 4th>读书笔记 第4章-数组和指针

matlab学习笔记(一)单元数组

matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil(3.18)=42.单元数组和结构体作用差不多, 相同点:都是存放不同类型的数据,能实现不同类型数据的存储机制. 不同点:结构体数组的 各个元素下有成员,并且每个成员有自己的名字,而单元数组没有成员和成员 名字的感念.3.单元数组,用[]表示元素间隔:用,表示元素之间的间隔:用:表示行间隔. 例如:c

1、C#基础:变量、运算符、分支、循环、枚举、数组、方法

C#..Net以及IDE简介 一.什么是.Net? .Net指 .Net Framework框架,一种平台,一种技术. .Net Framework框架是.Net平台不可缺少的一部分,它提供了一个稳定的运行环境来保证我们基于.Net平台开发的各种应用能够正常运转. .Net Framework 各版本区别 2002年 1.0------vs2002 统一类型系统,基础类库,垃圾回收,多语言支持.ado.net 1.0.asp.net 1.0.winform 1.0. 2003年 1.1-----

C语言笔记(二维数组与数值指针)

一.关于二维数组和二维数组区别 (1)一维数组在内存中是连续分布存储的,同样,二维数组也是在内存连续存储的.所以从内存的角度来分析,一维数组和二维数组其实没有本质区别. (2) 二维数组可以使用一维数组来代替.但是在实际的应用中,有时候使用二维数组会更加直观,方便程序的编程. (3)两者在内存使用效率上是一模一样的. 二.二维数组的第一维和第二维概念 (1)例如 int a[2][5]中,前面的2表示第一维:后面的5表示第二维 (2) 二维数组的第一维表示最外部的那一层,第一维本身也是一个数组,

lPerl 学习笔记-列表和数组

笔记来自<<Perl语言入门第5版>> 1. Perl中列表指标量的有序集合,数组则是存储列表的变量, 这两个术语经常混用,不过更精确地说,列表指数据,而数组指变量.数组的表示用 @my_array,因为Perl觉得@rray 看起来像array,正如 $calar 看起来像时scalar 标量变量一样. 2.    数组下标从0开始,数组或列表中的每个元素都时单独的标量变量,拥有单独的标量值,有序的.每个元素都有整数作为下标索引.由于每个元素相互独立,所以列表或数组中的元素类型可