zoukankan      html  css  js  c++  java
  • C# 数组(转载8)

    原文: https://www.runoob.com/csharp/csharp-array.html

    数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。

    声明数组变量并不是声明 number0、number1、...、number99 一个个单独的变量,而是声明一个就像 numbers 这样的变量,然后使用 numbers[0]、numbers[1]、...、numbers[99] 来表示一个个单独的变量。数组中某个指定的元素是通过索引来访问的。

    所有的数组都是由连续的内存位置组成的。最低的地址对应第一个元素,最高的地址对应最后一个元素。

    声明数组

    在 C# 中声明一个数组,您可以使用下面的语法:

    datatype[] arrayName;

    其中,

    • datatype 用于指定被存储在数组中的元素的类型。
    • [ ] 指定数组的秩(维度)。秩指定数组的大小。
    • arrayName 指定数组的名称。

    例如:

    double[] balance;

    赋值给数组

    您可以通过使用索引号赋值给一个单独的数组元素,比如:

    double[] balance = new double[10];
    balance[0] = 4500.0;

    您可以在声明数组的同时给数组赋值,比如:

    double[] balance = { 2340.0, 4523.69, 3421.0};

    您也可以创建并初始化一个数组,比如:

    int [] marks = new int[5]  { 99,  98, 92, 97, 95};

    在上述情况下,你也可以省略数组的大小,比如:

    int [] marks = new int[]  { 99,  98, 92, 97, 95};

    您也可以赋值一个数组变量到另一个目标数组变量中。在这种情况下,目标和源会指向相同的内存位置:

    int [] marks = new int[]  { 99,  98, 92, 97, 95};
    int[] score = marks;

    当您创建一个数组时,C# 编译器会根据数组类型隐式初始化每个数组元素为一个默认值。例如,int 数组的所有元素都会被初始化为 0。

    访问数组元素

    元素是通过带索引的数组名称来访问的。这是通过把元素的索引放置在数组名称后的方括号中来实现的。例如:

    double salary = balance[9];
    using System;
    namespace ArrayApplication
    {
       class MyArray
       {
          static void Main(string[] args)
          {
             int []  n = new int[10]; /* n 是一个带有 10 个整数的数组 */
             int i,j;
    
    
             /* 初始化数组 n 中的元素 */        
             for ( i = 0; i < 10; i++ )
             {
                n[ i ] = i + 100;
             }
    
             /* 输出每个数组元素的值 */
             for (j = 0; j < 10; j++ )
             {
                Console.WriteLine("Element[{0}] = {1}", j, n[j]);
             }
             Console.ReadKey();
          }
       }
    }

    使用 foreach 循环

    using System;
    
    namespace ArrayApplication
    {
       class MyArray
       {
          static void Main(string[] args)
          {
             int []  n = new int[10]; /* n 是一个带有 10 个整数的数组 */
    
    
             /* 初始化数组 n 中的元素 */        
             for ( int i = 0; i < 10; i++ )
             {
                n[i] = i + 100;
             }
    
             /* 输出每个数组元素的值 */
             foreach (int j in n )
             {
                int i = j-100;
                Console.WriteLine("Element[{0}] = {1}", i, j);
             }
             Console.ReadKey();
          }
       }
    }

    image

    参数数组

    有时,当声明一个方法时,您不能确定要传递给函数作为参数的参数数目。C# 参数数组解决了这个问题,参数数组通常用于传递未知数量的参数给函数。

    params 关键字

    在使用数组作为形参时,C# 提供了 params 关键字,使调用数组为形参的方法时,既可以传递数组实参,也可以传递一组数组元素。params 的使用格式为:

    public 返回类型 方法名称( params 类型名称[] 数组名称 )
    using System;
    
    namespace ArrayApplication
    {
       class ParamArray
       {
          public int AddElements(params int[] arr)
          {
             int sum = 0;
             foreach (int i in arr)
             {
                sum += i;
             }
             return sum;
          }
       }
         
       class TestClass
       {
          static void Main(string[] args)
          {
             ParamArray app = new ParamArray();
             int sum = app.AddElements(512, 720, 250, 567, 889);
             Console.WriteLine("总和是: {0}", sum);
             Console.ReadKey();
          }
       }
    }
  • 相关阅读:
    Spark中RDD、DataFrame和DataSet的区别
    如何为Spark应用程序分配--num-executors,--execuor-cores和--executor-memory
    一些常用的Spark SQL调优技巧
    使用sendmail命令发送附件
    spark.sql.shuffle.partitions 和 spark.default.parallelism 的区别
    Spark Shuffle
    [Spark学习] Spark RDD详解
    将时间戳(timestamp)转换为MongoDB中的ObjectId
    如何使用pig的AvroStorage存储array/map类型
    关于Avro中的Unions类型
  • 原文地址:https://www.cnblogs.com/huiy/p/14239397.html
Copyright © 2011-2022 走看看