交错数组和二维数组区别:
- 交错数组是数组的数组。例如:pascal[][],交错数组每一行的长度是可以不一样的
- 二维数组 ,例如 int[,] a,每一行是一样的
1.简单交错数组
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int[,] a = new int[2, 2] { { 1, 2 }, { 3, 4 } };
foreach(var item in a)
{
Console.WriteLine(item);
}
}
}
}
2、杨辉三角形
using System;
/*
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
*/
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
const int N = 10;
//声明交错数组
int[][] pascal = new int[N][];
for (int i = 0; i < N; i++)
{
pascal[i] = new int[i + 1];
}
//赋值
pascal[0][0] = 1;
for(int i = 1; i < N; i++)
{
pascal[i][0] = pascal[i][i] = 1;
for(int j = 1; j < i; j++)
{
pascal[i][j] = pascal[i - 1][j - 1] + pascal[i - 1][j];
}
}
//遍历
for(int i = 0; i < N; i++)
{
for (int z = (N - i); z > 0; z--)
{
Console.Write(" ");
}
for (int j = 0; j <= i; j++)
{
Console.Write("{0,-4}", pascal[i][j]);
}
Console.WriteLine();
}
}
}
}
3、数组函数
C#数组提供了.Length,Sort(),BinarySearch(),Reverse(),clear()等
更多函数
using System;
namespace ConsoleApp1
{
class Programe
{
static void Main(String[] ar)
{
string[] languages = new string[]{"zip","boy","cat" };
System.Array.Reverse(languages);
foreach (var item in languages)
{
Console.Write("{0} ", item);
}
System.Array.Sort(languages);//仅支持一维数组。
Console.Write(System.Environment.NewLine);//为保持平台的通用性,可以用系统默认换行符
string s = "zip";
int index = System.Array.BinarySearch(languages, s);//用于升序排列的数组
Console.WriteLine($"languages[{index}] is {s}");
Console.ReadLine();
}
}
}
4、实例方法
GetLength(0)–获得指定维的大小
int[,,] languages = new int[2, 3, 4];
Console.WriteLine(languages.GetLength(0));
Console.WriteLine(languages.GetLength(1));
Console.WriteLine(languages.GetLength(2));
字符串当作数组用
using System;
namespace ConsoleApp1
{
class Programe
{
static void Main(String[] ar)
{
string []s =new string[]{ "watermelon","green_man"};
string str = s[0];
char[] ch = str.ToCharArray();
System.Array.Reverse(ch);
Console.WriteLine(ch);
}
}
}