今天进行了C#的第三次学习,继续了解C#的相关知识:
数组
声明数组并初始化的格式为Java还有C++中常用的方法,例如double[] balance = new double[10];
,又或者在声明数组的同时给数组赋值double[] balance = { 2340.0, 4523.69, 3421.0};
,还可以是创建并初始化一个数组int [] marks = new int[] { 99, 98, 92, 97, 95};
。
遍历数组中的元素可以使用for或者foreach来进行循环。
多维数组
多维数组分为二维及以上维度的数组,这个也是老生常谈了
声明二维数组可以string [,] names;
,三维数组可以int [ , , ] m;
,初始化数组如下:
int [,] a = new int [3,4] {
{0, 1, 2, 3} , /* 初始化索引号为 0 的行 */
{4, 5, 6, 7} , /* 初始化索引号为 1 的行 */
{8, 9, 10, 11} /* 初始化索引号为 2 的行 */
};
交错数组
交错数组在我的理解看来就是数组里嵌套多个数组,举个例子:int[][] scores = new int[2][]{new int[]{92,93,94},new int[]{85,66,87,88}};
。
上述是一个第一行为3个数,第二行为四个数的数组,可以理解为不规则排列。
传递数组给函数
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();
}
}
}
参数数组
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();
}
}
}
要注意的是
Array类
值得注意的是Array.Sort() 方法会直接修改原数组