56. C# -- 数组(Array)

理论:

C# 数组(Array) 数组是一个存储相同类型元素的固定大小的顺序集合。

数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。

声明数组变量并不是声明 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];

实例1:

下面是一个实例,使用上面提到的三个概念,即声明、赋值、访问数组:

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

当上面的代码被编译和执行时,它会产生下列结果:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

实例2:

使用 foreach 循环

在前面的实例中,我们使用一个 for 循环来访问每个数组元素。您也可以使用一个 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);
            i++;
         }
         Console.ReadKey();
      }
   }
}

当上面的代码被编译和执行时,它会产生下列结果:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

C# 数组细节

在 C# 中,数组是非常重要的,且需要了解更多的细节。下面列出了C# 程序员必须清楚的一些与数组相关的重要概念:

参考:
http://outofmemory.cn/csharp/tutorial/csharp-array.html

时间: 2024-10-16 06:54:41

56. C# -- 数组(Array)的相关文章

数据结构之数组Array

数组Array 基本操作 Status InitArray(int dimm,...)//若维数dim和随后的各维长度合法,则构造相应的数组A,并返回OK Status DestroyArray() //销毁数组A Status Locate(va_list ap,int &off) //若ap指示的各下标值合法,则求出该元素在A中相对地址off Status Value(ElemType &e,...) //A是n维数组,e为元素变量,随后是n个下标值.若各下表不越界,则e赋值为所指定的

数组 array 矩阵 list 数据框 dataframe

转自 :  http://blog.csdn.net/u011253874/article/details/43115447 <span style="font-size:14px;">#R语言备忘录三# #数组array和矩阵matrix.列表list.数据框dataframe #数组 #数组的重要属性就是dim,维数 #得到4*5的矩阵 z <- 1:12 dim(z) <- c(3,4) z #构建数组 x <- array(1:20, dim = 

oracle 数组 array

一维数组示例如下: -- Created on 2014-5-15 by ADMINISTRATOR DECLARE TYPE Arr1 IS VARRAY(10) OF NUMBER; Tab_1 Arr1; TYPE Arr2 IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; Tab_2 Arr2; BEGIN -- Test statements here Tab_1 := Arr1(1, 3, 4, 6, 3, 2, 8, 5); FOR a IN

C++中的数组array和vector,lambda表达式,C字符串加操作,C++中新类型数组(数组缓存),多元数组,new缓冲

 使用C++风格的数组,不需要管理内存. array要注意不要溢出,因为它是栈上开辟内存. array适用于任何类型 #include<iostream> #include<array> #include<vector>   //C++的标准库 #include<string>   //C++字符串 #include <stdlib.h> using  std::array; //静态数组,栈上 using std::vector; //动态

Scala 数组-Array

环境: CentOS 6.3 1. 定义且同时初始化数组 $ cat array.scala val numNames2 = Array.apply("France","US","china") println(numNames2(0)) [[email protected] scala]$ scala array.scala France Array.apply("France","US","c

元组Tuple、数组Array、映射Map

一.元组Tuple 元组Tuple是不同类型的值的聚集,元组的值将单个的值包含在圆括号中来构成,元组可以包含一个不同类型的元素 如 val riple = (100, "Scala" , "Spark")1.元组中可以包含不同类型的元素,如上,把鼠标放在riple上,IDE会自动推断出元组riple里面的3个元素类型分别是Int.String.String2.元组实例化后,和数组Array不同,数组Array的索引从0开始,而元组Tuple的索引从1开始.3.调用元

学习Swift -- 数组(Array) - 持续更新

集合类型--数组 Array是Swift中的一种集合类型:数组,数组是使用有序列表储存同一类型的多个值,与OC的NSArray的最大不同是,Swift的数组是值类型,OC的数组是引用类型 声明数组的方法 // 如果声明可变数组 就设置为变量 var someMutableArray = [Int]() // 声明了空数组 类型为Int // 相反声明不可变数组就设置为常量 let someArray = Array(count: 5, repeatedValue: 0.03) // 声明了一个不

C#中数组Array、ArrayList、泛型List&lt;T&gt;的比较

在C#中数组Array,ArrayList,泛型List都能够存储一组对象,但是在开发中根本不知道用哪个性能最高,下面我们慢慢分析分析. 一.数组Array 数组是一个存储相同类型元素的固定大小的顺序集合.数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合. Array 类是 C# 中所有数组的基类,它是在 System 命名空间中定义. 数组在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也非常简单. Array数组具体用法: using System; names

swift基本用法-数组array

数组简单用法 //------------------------------------------------------------------------------ // 1. 数组定义 // 1> 使用[]可以快速定义数组,每一个数组元素使用 , 分隔 // 2> 数组中的数据元素可以是不同类型 var array = ["hello", "swift", 1, 1.2] //---------------------------------

数组(Array)的初始化

如果这样: private static int unsorted[]; for(int i = 1 ; i < 8 ; i ++ ) unsorted[i] = 1 ; 是会报NullPointerException的,原因很简单,数组没有初始化!unsorted没有申请到内存空间,for(..)里面的i都不知道指向哪里. 可以这样声明同时初始化: private static int unsorted[] = new int[8]; 这样unsorted[]里面是8个0.   数组(Arra