zoukankan      html  css  js  c++  java
  • C# 一维二维数组的定义与foreach语句的使用

     1         static void Main(string[] args)
     2         {
     3             //一维数组的两种初始化
     4             //动态初始化
     5             int a = 5;
     6             int[] aa = new int[10];
     7             int[] bb = new int[a];
     8             //利用new给int数组在堆中开空间初始化数组的方法,[]内是可以是变量或者常量的
     9             //但是另外一种情况不行
    10             int[] cc = new int[] {1,2,3,4,5,6,7,8,9};
    11             //这种情况下[]内是不能用变量的,里面只能用常量,就算是附了值的也不行,例如上面的变量a就不行。
    12             int[] dd = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    13             //在这种情况下,用new分配了空间的情况下,并且用{}进行写入的情况,就一定要写满[]内对应的值的数据
    14             //不能多也不能少
    15             int[] ee = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    16 
    17 
    18             //一维数组的静态初始化
    19             //类似于C的数组,但是也有不一样的地方
    20             int[] ff = {1,2,3,4,5,6 };
    21             //int[6] gg = {1,2,3,4,5,6 };
    22             //比如这里就不能像C一样指定数组的长度
    23             //而且这里不能写成
    24             int [] c;     //这里是正确的
    25             //    c={1,2,3};  这里不能这么写,因为没有开设堆空间给c
    26             c = new int[] { };
    27             //这样才是正确的
    28 
    29 
    30             //foreach函数的使用
    31             //借用上面的int[] dd = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    32             //原来我们C显示数组都是考循环和下标一个一个输出的,现在我们可以使用一个foreach来实现
    33 
    34 
    35             string test = "SB";
    36             foreach (int i in dd)  //显示迭代变量
    37             {
    38                 Console.WriteLine("数组输出={0}", i);
    39                 //因为我们无法通过直接手段让迭代变量i输出出来
    40                 //所以我们利用字符串的叠加和格式化让其输出出来
    41                 test = test + i;
    42                 string.Format(test);
    43                 Console.WriteLine("测试迭代函数的值是多少={0}", test);
    44                 //输出结果证明迭代变量是从数组内1开始的
    45                 //但我们不清楚是从1开始,还是与数组有关
    46             }
    47 
    48             //我们再测试一下
    49             test = "SB";//test归位
    50             int[] zimu = {5,9,5,15,26,5,5,62};
    51             foreach (int i in zimu )  
    52             {
    53                 Console.WriteLine("数组输出={0}", i);
    54                 test = test + i;
    55                 string.Format(test);
    56                 Console.WriteLine("测试迭代函数的值是多少={0}", test);
    57                 //从这里我们看出,迭代变量,代表的就是数组对应的一个个数据。
    58             }
    59 
    60             //迭代变量会不会和数组的数据有关呢?
    61             test = "SB";//test归位
    62             char[] zimu2 = { '5', '6', 'j' };
    63             foreach (int i in zimu2)
    64             {
    65                 Console.WriteLine("数组输出={0}", i);
    66                 test = test + i;
    67                 string.Format(test);
    68                 Console.WriteLine("测试迭代函数的值是多少={0}", test);
    69                 //从这里我们看出,这里看出来,输出的数据是什么,取决于迭代变量的类型
    70                 //这里的字符j被转换成asc2表上的106输出了
    71             }
    72 
    73             test = "SB";//test归位
    74             string[] zimu3 = { "啊这azhe 123" };//隐式迭代变量
    75             foreach (var i in zimu3)
    76             {
    77                 Console.WriteLine("数组输出={0}", i);
    78                 test = test + i;
    79                 string.Format(test);
    80                 Console.WriteLine("测试迭代函数的值是多少={0}", test);
    81                 //由于int无法和string发生转换,所以这里只能用var隐式迭代变量
    82                 
    83             }
    84 
    85 
    86         }

     二维数组

     1         static void Main(string[] args)
     2         {
     3             //二维数组
     4             int[,] a;//这里通过[,]的组合建立一个二维数组
     5             int[,,] p;//中间这种做法是可以叠加的,从而产生三位数组甚至多维数组
     6 
     7             //二维数组初始化和一维数组一致
     8             //动态
     9             int[,] aa = new int[3, 3] { { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 } };
    10             //注意与C的区别,二维是[a,b]的形式。
    11             //和一维数组一样,[]内写了范围,就要一个一个写到位
    12 
    13             //静态
    14             int[,] bb = { { 1 }, { 2 } };
    15 
    16             //foreach使用一维数组完全一致,不做赘述。
    17 
    18 
    19         }
    悟已往之不谏,知来者之可追
  • 相关阅读:
    该虚拟机似乎正在使用中,请获取所有权
    分配销售区域
    未对销售组织 XXX 分销渠道 00 语言 ZH 定义
    Bash 遍历目录
    plsql 不需配置*.ora就可以访问数据库
    arch linux
    拓端数据tecdat|R语言有限混合模型(FMM,finite mixture model)及其EM算法聚类分析间歇泉喷发时间
    拓端数据tecdat|使用R语言进行多项式回归、非线性回归模型曲线拟合
    拓端数据tecdat|R语言使用ARIMAX预测失业率经济时间序列数据
    拓端数据tecdat|R语言用ARIMA模型,ARIMAX模型预测冰淇淋消费时间序列数据
  • 原文地址:https://www.cnblogs.com/ljh-study/p/13627463.html
Copyright © 2011-2022 走看看