# 1 初始化

double[] balance = new double[10]; // 隐式初始化为0
double[] balance = { 2340.0, 4523.69, 3421.0}; // 这个就很简洁
int [] marks = new int[5] { 99, 98, 92, 97, 95}; // 多余,不用delete
int [] marks = new int[] { 99, 98, 92, 97, 95}; // 多余 int [] marks = new int[] { 99, 98, 92, 97, 95};
int[] score = marks;

  

# 2. 访问

使用中括号,同C++;

foreach 示例:

         int []  n = new int[10]; /* n 是一个带有 10 个整数的数组 */

         /* 输出每个数组元素的值 */
foreach (int j in n )
{
int i = j-100;
Console.WriteLine("Element[{0}] = {1}", i, j);
}
Console.ReadKey();

  

# 3 二维数组

int [,] a = new int [3,4] {
{0, 1, 2, 3} , /* 初始化索引号为 0 的行 */
{4, 5, 6, 7} , /* 初始化索引号为 1 的行 */
{8, 9, 10, 11} /* 初始化索引号为 2 的行 */
};
int val = a[2,3]; // 访问

  

# 4 交错数组

int[][] scores = new int[2][]{new int[]{92,93,94},new int[]{85,66,87,88}};

  

# 5 数组作为函数输入

using System;

namespace ArrayApplication
{
class MyArray
{
double getAverage(int[] arr, int size)
{
int i;
double avg;
int sum = 0; for (i = 0; i < size; ++i)
{
sum += arr[i];
} avg = (double)sum / size;
return avg;
}
static void Main(string[] args)
{
MyArray app = new MyArray();
/* 一个带有 5 个元素的 int 数组 */
int [] balance = new int[]{1000, 2, 3, 17, 50};
double avg; /* 传递数组的指针作为参数 */
avg = app.getAverage(balance, 5 ) ; /* 输出返回值 */
Console.WriteLine( "平均值是: {0} ", avg );
Console.ReadKey();
}
}
}

  

# 6 数组作为形参

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();
}
}
}

  

# 7 Array类的成员函数

1 Clear
根据元素的类型,设置数组中某个范围的元素为零、为 false 或者为 null。
2 Copy(Array, Array, Int32)
从数组的第一个元素开始复制某个范围的元素到另一个数组的第一个元素位置。长度由一个 32 位整数指定。
3 CopyTo(Array, Int32)
从当前的一维数组中复制所有的元素到一个指定的一维数组的指定索引位置。索引由一个 32 位整数指定。
4 GetLength 
获取一个 32 位整数,该值表示指定维度的数组中的元素总数。
5 GetLongLength
获取一个 64 位整数,该值表示指定维度的数组中的元素总数。
6 GetLowerBound
获取数组中指定维度的下界。
7 GetType
获取当前实例的类型。从对象(Object)继承。
8 GetUpperBound
获取数组中指定维度的上界。
9 GetValue(Int32)
获取一维数组中指定位置的值。索引由一个 32 位整数指定。
10 IndexOf(Array, Object)
搜索指定的对象,返回整个一维数组中第一次出现的索引。
11 Reverse(Array)
逆转整个一维数组中元素的顺序。
12 SetValue(Object, Int32)
给一维数组中指定位置的元素设置值。索引由一个 32 位整数指定。
13 Sort(Array)
使用数组的每个元素的 IComparable 实现来排序整个一维数组中的元素。
14 ToString
返回一个表示当前对象的字符串。从对象(Object)继承。

示例:

            int[] list = { 34, 72, 13, 44, 25, 30, 10 };

            // 逆转数组
Array.Reverse(list); // 排序数组
Array.Sort(list);

  

参考:

http://www.runoob.com/csharp/csharp-array.html

13-C#笔记-数组的更多相关文章

  1. 13.python笔记之pyyaml模块

    Date:2016-03-25 Title:13.Python笔记之Pyymal模块使用 Tags:Python Category:Python 博客地址:www.liuyao.me 作者:刘耀 YA ...

  2. php 学习笔记 数组2

    10.切割数组 array_slice(array, offset, length);返回一个由原始数组中的连续元素组成的新数组,参数1为原始数组,参数2为要复制的起始位置, 参数3要复制的个数:新数 ...

  3. Java-Runoob-高级教程-实例-数组:13. Java 实例 – 数组交集

    ylbtech-Java-Runoob-高级教程-实例-数组:13. Java 实例 – 数组交集 1.返回顶部 1. Java 实例 - 数组交集  Java 实例 以下实例演示了如何使用 reta ...

  4. JavaScript学习笔记-数组

    数组 数组中的每个元素的位置是索引,索引是基于32位的由0开始的数值,最大索引为(2的32次方-2),最大长度为(2的32次方-3) 数组是无类型的:元素可为任意类型:动态的:可根据需要自动增长.缩减 ...

  5. Java菜鸟学习笔记--数组篇(三):二维数组

    定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...

  6. PHP学习笔记-数组(1)

    1-1 数组定义 1.什么是数组? 所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组 ...

  7. java笔记 -- 数组

    概念: 数组是一种数据结构, 用来存储同一类型值的集合. 通过一个整型的下标可以访问数组中的每一个值. 声明: int[] a(推荐,将类型int[](整形数组)和变量名分开了) 或者int a[] ...

  8. c 语言笔记 数组1

    1.数组可以有多维数组.c99支持动态数组,c11和c99之前不再支持. 2.数组 初始化一个后,后面的自动初始化为0,如果不初始化,都是垃圾值. 3.数组初始化 可以指定  ss[10]={0,2, ...

  9. golang学习笔记 ---数组与切片

    数组: golang数组包含的每个数据称为数组元素(element),数组包含的元素个数被称为数组长度(length). golang数组的长度在定义后不可更改,并且在声明时可以是一个常量或常量表达式 ...

随机推荐

  1. Windows的一些使用技巧/设置

    仅为个人记录,关闭与否还请读者斟酌 1,加速关机速度 运行gpedit.msc: 计算机管理,管理模块 - 系统 -关机选项 关闭会阻止或取消关机的应用程序的自动终止功能. 2,组策略关闭小娜后,只把 ...

  2. thinkphp5.1 - twig模板-全局变量

    thinkphp5.1 - twig模板-全局变量我们在定义 ccs 之类的静态文件的时候,经常会使用<link rel="stylesheet" href="__ ...

  3. NOI 2010 海拔(最小割转最短路)

    题意 https://www.lydsy.com/JudgeOnline/problem.php?id=2007 思路 首先可以发现一个结论,每个位置的海拔只有能是 \(0\) 和 \(1\) ,然后 ...

  4. Scala 准引用 - Quasiquote介绍

    Quasiquotes are a neat notation that lets you manipulate Scala syntax trees with ease: scala> val ...

  5. linux-centos安装图解及配置IP远程连接

    本次安装使用vm软件的15版本,系统为centos7.6(1810) 系统安装图解>配置IP信息联网>真实机是无线网络状态,虚拟机如何联网>远程工具连接虚拟机 一,vm安装cento ...

  6. 使用thanos管理Prometheus持久化数据

    关于thanos的介绍可以参考这篇官方博客的翻译文档,本文不作部署操作介绍.下图是thanos的官方架构图,主要有5个组件: Query:可以近似看作是Prometheus的实现,用于采集其他组件的数 ...

  7. [4]Hexo静态博客背景及界面显示优化配置

    示例预览:我的主页 前提预设: [3]hexo+github搭建个人博客的主题配置 [2]hexo+github搭建个人博客的简单使用 [1]hexo+github搭建个人博客的过程记录 背景图片添加 ...

  8. 排序算法Java代码实现(五)—— 快速排序

    本篇内容: 快速排序 快速排序 算法思想: 通过一趟排序将要排序的数据分割成独立的两部分, 其中一部分的所有数据都比另外一部分的所有数据都要小, 然后再按此方法对这两部分数据分别进行快速排序, 整个排 ...

  9. oracle查询哪些sp修改了某些表

    select distinct s.owner ||'.'||s.name from dba_source swhere lower(s.TEXT) like '%insert%tb_flow_ins ...

  10. C# 通过反射获取winform上的控件

    比如获取Button按钮: System.Reflection.FieldInfo[] fieldInfo = form.GetType().GetFields(System.Reflection.B ...