C# 数组(Array)

Dear 丶 2024-03-22 20:59 237阅读 0赞

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

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

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

C\# 中的数组

声明数组

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

  1. datatype[] arrayName;

其中,

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

例如:

  1. double[] balance;

初始化数组

声明一个数组不会在内存中初始化数组。当初始化数组变量时,您可以赋值给数组。

数组是一个引用类型,所以您需要使用 new 关键字来创建数组的实例。

例如:

  1. double[] balance = new double[10];

赋值给数组

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

  1. double[] balance = new double[10];
  2. balance[0] = 4500.0;

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

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

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

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

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

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

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

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

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

访问数组元素

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

  1. double salary = balance[9];

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

实例

  1. using
  2. System
  3. ;
  4. namespace ArrayApplication
  5. {
  6. class MyArray
  7. {
  8. static
  9. void Main
  10. (
  11. string
  12. [
  13. ] args
  14. )
  15. {
  16. int
  17. [
  18. ] n
  19. =
  20. new
  21. int
  22. [
  23. 10
  24. ]
  25. ;
  26. /* n 是一个带有 10 个整数的数组 */
  27. int i,j
  28. ;
  29. /* 初始化数组 n 中的元素 */
  30. for
  31. ( i
  32. =
  33. 0
  34. ; i
  35. <
  36. 10
  37. ; i
  38. ++
  39. )
  40. {
  41. n
  42. [ i
  43. ]
  44. = i
  45. +
  46. 100
  47. ;
  48. }
  49. /* 输出每个数组元素的值 */
  50. for
  51. (j
  52. =
  53. 0
  54. ; j
  55. <
  56. 10
  57. ; j
  58. ++
  59. )
  60. {
  61. Console
  62. .
  63. WriteLine
  64. (
  65. "Element[{0}] = {1}", j, n
  66. [j
  67. ]
  68. )
  69. ;
  70. }
  71. Console
  72. .
  73. ReadKey
  74. (
  75. )
  76. ;
  77. }
  78. }
  79. }

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

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

使用 foreach 循环

在前面的实例中,我们使用一个 for 循环来访问每个数组元素。您也可以使用一个 foreach 语句来遍历数组。

实例

  1. using
  2. System
  3. ;
  4. namespace ArrayApplication
  5. {
  6. class MyArray
  7. {
  8. static
  9. void Main
  10. (
  11. string
  12. [
  13. ] args
  14. )
  15. {
  16. int
  17. [
  18. ] n
  19. =
  20. new
  21. int
  22. [
  23. 10
  24. ]
  25. ;
  26. /* n 是一个带有 10 个整数的数组 */
  27. /* 初始化数组 n 中的元素 */
  28. for
  29. (
  30. int i
  31. =
  32. 0
  33. ; i
  34. <
  35. 10
  36. ; i
  37. ++
  38. )
  39. {
  40. n
  41. [i
  42. ]
  43. = i
  44. +
  45. 100
  46. ;
  47. }
  48. /* 输出每个数组元素的值 */
  49. foreach
  50. (
  51. int j
  52. in n
  53. )
  54. {
  55. int i
  56. = j
  57. -
  58. 100
  59. ;
  60. Console
  61. .
  62. WriteLine
  63. (
  64. "Element[{0}] = {1}", i, j
  65. )
  66. ;
  67. }
  68. Console
  69. .
  70. ReadKey
  71. (
  72. )
  73. ;
  74. }
  75. }
  76. }

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

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

C# 数组细节

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




























概念 描述
多维数组 C# 支持多维数组。多维数组最简单的形式是二维数组。
交错数组 C# 支持交错数组,即数组的数组。
传递数组给函数 您可以通过指定不带索引的数组名称来给函数传递一个指向数组的指针。
参数数组 这通常用于传递未知数量的参数给函数。
Array 类 在 System 命名空间中定义,是所有数组的基类,并提供了各种用于数组的属性和方法。

发表评论

表情:
评论列表 (有 0 条评论,237人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C# 数组Array

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

    相关 数组Array

    定义 有限个相同数据类型的变量的集合 数组属于引用数据类型,要先实例化 堆内存用来存放由new运算符创建的对象和数组,同一块堆内存空间可以由不同的栈内存

    相关 C++:数组array

    之前学习了向量vector,其效率稍低,在C++中新增了模板类数组array,效率和数组相同。 数组array长度是固定的,使用栈存储,和数组效率相同,但更方便、安全

    相关 数组Array

      对象数组和基本类型数组在使用上几乎是一致的,唯一的区别是对象数组保存的是对象引用, 基本类型数组直接保存基本类型的值。   新生成一个数组时,会初始化,如果是对象数组,

    相关 数组_array

    数组:存储同一种数据类型的多个元素的容器。 定义格式:   A:数据类型\[\] 数组名;   B:数据类型 数组名\[\]; 举例:   A: