今天由于工作上的需要, 改了几行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

分类: C#基础教程2005-10-22 09:46 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 循环将使您可以更好地控制数组元素。

C#的switch与二维数组.....的更多相关文章

  1. [Day4]Switch语句、数组、二维数组

    1.选择结构switch (1)格式 switch (表达式){ case 目标值1: 执行语句1; break; case 目标值2: 执行语句2; break; ...... case 目标值n: ...

  2. 用C语言关于学生管理系统的几种实现方法(一位数组,二维数组,指针,结构体)

    一位数组: #include <stdio.h> #include<string.h> #define N 5 void luru(float s[],int n); void ...

  3. C++ 二维数组(双重指针作为函数参数)

    本文的学习内容参考:http://blog.csdn.net/yunyun1886358/article/details/5659851 http://blog.csdn.net/xudongdong ...

  4. 【原创】只学到二维数组和结构体,不用链表也能写一个C贪食蛇?(四)

    全系列Index: [原创]只学到二维数组和结构体,不用链表也能写一个C贪食蛇?(一) [原创]只学到二维数组和结构体,不用链表也能写一个C贪食蛇?(二) [原创]只学到二维数组和结构体,不用链表也能 ...

  5. 【Java学习笔记之八】java二维数组及其多维数组的内存应用拓展延伸

    多维数组声明 数据类型[][] 数组名称; 数据类型[] 数组名称[]; 数据类型数组名称[][]; 以上三种语法在声明二维数组时的功能是等价的.同理,声明三维数组时需要三对中括号,中括号的位置可以在 ...

  6. C语言二维数组实现扫雷游戏

    #include<stdio.h> //使用二维数组实现 扫雷 int main() { char ui[8][8]={ '+','+','+','+','+','+','+','+', ...

  7. Arrays工具、二维数组以及LeetCode练习题

    1 Arrays PS:Arrays位于java.util包下 int binarySearch(type[] a, type key); 使用二分法查询 key 元素在 a 数组中的索引,如果数组不 ...

  8. 二维数组 \n是换行 三目运算符 if语句示例

    今天学习了二维数组 // 1.定义数组array并赋值 // var arr1=[1,2,3,4,5,]; // alert(arr1[2]); 数组的长度就是值的多少 获取数值的长高度=最大下标+1 ...

  9. 第3章 Java数组(上): 一维数组和二维数组

    3.数组及排序算法(2天) 3.1 数组的概述 2课时 3.2 一维数组的使用 3课时 3.3 多维数组的使用 3课时 3.4 数组中涉及到的常见算法 3课时 3.5 Arrays工具类的使用 3课时 ...

随机推荐

  1. 精华阅读第 9 期 |滴滴出行 iOS 客户端架构演进之路

    「架构都是演变出来的,没有最好的架构,只有最合适的架构!」最近,滴滴出行平台产品中心 iOS 技术负责人李贤辉接受了 infoQ 的采访,阐述了滴滴的 iOS 客户端架构模式与演变过程.李贤辉也是移动 ...

  2. android音乐播放器开发教程

    android音乐播放器开发教程 Android扫描sd卡和系统文件 Android 关于录音文件的编解码 实现米聊 微信一类的录音上传的功能 android操作sdcard中的多媒体文件——音乐列表 ...

  3. APT攻击

    http://netsecurity.51cto.com/art/201211/363040.htm

  4. [优先队列]HDOJ5360 Hiking

    题意:有n个人,每个人有两个参数$l$和$r$ 邀请他们去hiking, 当  当前已经邀请到的人数大于等于$l$,并且小于等于$r$,那么这个人就会去 问最多能邀请到几个人 并输出 依次要邀请的人的 ...

  5. lintcode:合并排序数组 II

    题目: 合并排序数组 II 合并两个排序的整数数组A和B变成一个新的数组. 样例 给出A = [1, 2, 3, empty, empty] B = [4,5] 合并之后A将变成[1,2,3,4,5] ...

  6. *[topcoder]ChooseTheBestOne

    https://www.topcoder.com/stat?c=problem_statement&pm=13146&rd=15852 // Need carefully calc t ...

  7. jdbc的通讯录CRUD

    基于JDBC的通讯录练手:项目以MVC模式开发,包名:cn.itcast.txl.domain;cn.itcast.txl.dao;cn.itcast.txl.dao.impl;cn.itcast.t ...

  8. 用JUnit4进行单元测试

    转载:http://tonl.iteye.com/blog/1948869 参考: http://thihy.iteye.com/blog/1771826 http://developer.51cto ...

  9. spring中的aware接口

    1.实现了相应的aware接口,这个类就获取了相应的资源. 2.spring中有很多aware接口,包括applicationContextAware接口,和BeanNameAware接口. 实现了这 ...

  10. PowerDesinger逆向数据库物理模型及关系图

    原文:PowerDesinger逆向数据库物理模型及关系图 利用PowerDesinger生成的数据库物理模型及关系图 收集五年的开发资料下载地址:  http://pan.baidu.com/sha ...