zoukankan      html  css  js  c++  java
  • C#的switch与二维数组.....

    今天由于工作上的需要, 改了几行C#  的代码,

    发现有一些细微的语法区别,与C++,

    像switch语句那样,

    我一般不会在default后面加上break,语句,

    可是发现如果不加上的话,就会报下面的错误

    Error 1 Control cannot fall through from one case label ('default:') to another 

    ...

    另外,还有定义一下二维数组的话,,,,

    不能直接int a[2][3]这样,

    需要

    int [,] convertTable = new int [24,3] {
    { 001 , 001 , 001 } ,
    ....
    { 100 , 100 , 100 }
    };

    一开始还真有点不习惯

    下面是摘自其它网友的提示

    from 

    http://blog.csdn.net/qi_jianzhou/article/details/513462

     

    CSharp 基本知识-数组

    分类: C#基础教程 1729人阅读 评论(0) 收藏 举报

    1.数组

    CSharp 的数组从 0 开始

    声明数组时 "[ ]"放在类型名的后面,而不能放在标示符的后面,放在标示符的后面是别一种语法

    如 int[] table  而不是  int table[]

    另一细节是数组的大小不是其类型的一部分,而在C语言中数组的大小确是数组类型的一部分,可以声明一个数组

    关为它分配 int (觉得这里好像说的不对,应该是"类型")  对象的任意数组, 不管长度如何

    如:

    int[] table;

    table=new int[10];

    table=new int[20];

    table= new int[30];

    现在的 table 是有 30 个元素了

    数组可以声明为一维,二维,交错数组,如

    int[] num=new int[10];                   //声明一个一维数组

    int[,] num2=new int[4,5];                //声明一个二维数组

    int[][] num3=new int[3];                   //声明一个交错的数组

    for (int x=0;x<num3.Length;x++)

    {

             num3[x]=new int[4];             //相当于声明的一个 [3,4] 的数组

    }

    还可以有更大的数组。例如,可以有三维的矩形数组:

    甚至可以将矩形数组和交错数组混合使用。例如,下面的代码声明了类型为 int 的二维数组的三维数组的一维数组。

    数组的初始化

    数组初始化时可以 int[] num=new int[4]{1,2,3,4}

    此处注意的是初始化的元素个数得和指定 int[4] 保存一至,否则会出错

    初始化数组 
    C# 通过将初始值括在大括号 ({}) 内为在声明时初始化数组提供了简单而直接了当的方法。下面的示例展示初始化不同类型的数组的各种方法。 

    注意 如果在声明时没有初始化数组,则数组成员将自动初始化为该数组类型的默认初始值。另外,如果将数组声明为某类型的字段,则当实例化该类型时它将被设置为默认值 null。 
    一维数组 
    int[] numbers = new int[5] {1, 2, 3, 4, 5}; 
    string[] names = new string[3] {"Matt", "Joanne", "Robert"}; 
    可省略数组的大小,如下所示: 

    int[] numbers = new int[] {1, 2, 3, 4, 5}; 
    string[] names = new string[] {"Matt", "Joanne", "Robert"}; 
    如果提供了初始值设定项,则还可以省略 new 运算符,如下所示: 

    int[] numbers = {1, 2, 3, 4, 5}; 
    string[] names = {"Matt", "Joanne", "Robert"}; 
    多维数组 
    int[,] numbers = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} }; 
    string[,] siblings = new string[2, 2] { {"Mike","Amy"}, {"Mary","Albert"} }; 
    可省略数组的大小,如下所示: 

    int[,] numbers = new int[,] { {1, 2}, {3, 4}, {5, 6} }; 
    string[,] siblings = new string[,] { {"Mike","Amy"}, {"Mary","Albert"} }; 
    如果提供了初始值设定项,则还可以省略 new 运算符,如下所示: 

    int[,] numbers = { {1, 2}, {3, 4}, {5, 6} }; 
    string[,] siblings = { {"Mike", "Amy"}, {"Mary", "Albert"} }; 
    交错的数组(数组的数组) 
    可以像下例所示那样初始化交错的数组: 

    int[][] numbers = new int[2][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} }; 
    可省略第一个数组的大小,如下所示: 

    int[][] numbers = new int[][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} }; 
    -或- 

    int[][] numbers = { new int[] {2,3,4}, new int[] {5,6,7,8,9} }; 
    请注意,对于交错数组的元素没有初始化语法。 

    访问数组成员 
    访问数组成员可以直接进行,类似于在 C/C++ 中访问数组成员。例如,下面的代码创建一个名为 numbers 的数组,然后向该数组的第五个元素赋以 5: 

    int[] numbers = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}; 
    numbers[4] = 5; 
    下面的代码声明一个多维数组,并向位于 [1, 1] 的成员赋以 5: 

    int[,] numbers = { {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10} }; 
    numbers[1, 1] = 5; 
    下面声明一个一维交错数组,它包含两个元素。第一个元素是两个整数的数组,第二个元素是三个整数的数组: 

    int[][] numbers = new int[][] { new int[] {1, 2}, new int[] {3, 4, 5} 
    }; 
    下面的语句向第一个数组的第一个元素赋以 58,向第二个数组的第二个元素赋以 667: 

    numbers[0][0] = 58; 
    numbers[1][1] = 667; 
    数组是对象 
    在 C# 中,数组实际上是对象。System.Array 是所有数组类型的抽象基类型。可以使用 System.Array 具有的属性以及其他类成员。这种用法的一个示例是使用“长度”(Length) 属性获取数组的长度。下面的代码将 numbers 数组的长度(为 5)赋给名为 LengthOfNumbers 的变量: 

    int[] numbers = {1, 2, 3, 4, 5}; 
    int LengthOfNumbers = numbers.Length; 
    System.Array 类提供许多有用的其他方法/属性,如用于排序、搜索和复制数组的方法。 

    对数组使用 foreach 
    C# 还提供 foreach 语句。该语句提供一种简单、明了的方法来循环访问数组的元素。例如,下面的代码创建一个名为 numbers 的数组,并用 foreach 语句循环访问该数组: 

    int[] numbers = {4, 5, 6, 1, 2, 3, -2, -1, 0}; 
    foreach (int i in numbers) 

    System.Console.WriteLine(i); 

    由于有了多维数组,可以使用相同方法来循环访问元素,例如: 

    int[,] numbers = new int[3, 2] {{9, 99}, {3, 33}, {5, 55}}; 
    foreach(int i in numbers) 

    Console.Write("{0} ", i); 

    该示例的输出为: 

    9 99 3 33 5 55 
    不过,由于有了多维数组,使用嵌套 for 循环将使您可以更好地控制数组元素。 

  • 相关阅读:
    可爱的中国电信 请问我们的电脑还属于我们自己吗?
    了解客户的需求,写出的代码或许才是最优秀的............
    DELPHI DATASNAP 入门操作(3)简单的主从表的简单更新【含简单事务处理】
    用数组公式获取字符在字符串中最后出现的位置
    在ehlib的DBGridEh控件中使用过滤功能(可以不用 MemTableEh 控件 适用ehlib 5.2 ehlib 5.3)
    格式化json返回的时间
    ExtJs中使用Ajax赋值给全局变量异常解决方案
    java compiler level does not match the version of the installed java project facet (转)
    收集的资料(六)ASP.NET编程中的十大技巧
    收集的资料共享出来(五)Asp.Net 权限解决办法
  • 原文地址:https://www.cnblogs.com/vimmer/p/3337007.html
Copyright © 2011-2022 走看看