数组分为:普通数组,多维数组、锯齿数组和自己创建的数组;具体使用如下
/// <summary>
/// 普通数组
/// </summary>
/// <returns></returns>
public string[] GetStringList()
{
string[] strArray = new string[2] { "1", "2" };
return strArray;
}
/// <summary>
/// 多维数组
/// </summary>
/// <returns></returns>
public string[,] GetStringMoreList()
{
string[,] strArr = new string[2, 2];
strArr[0, 0] = "1";
strArr[0, 1] = "2";
strArr[1, 0] = "3";
strArr[1, 1] = "4";
return strArr;
}
/// <summary>
/// 锯齿数组
/// </summary>
/// <returns></returns>
public void GetStringLenMoreList()
{
string[][] strArrs = new string[3][];
strArrs[0] = new string[2] { "1", "2" };
strArrs[1] = new string[4] { "1", "2", "3", "4" };
strArrs[2] = new string[3] { "1", "2", "3" };
for (int i = 0; i < strArrs.Length; i++)
{
for (int j = 0; j < strArrs[i].Length; j++)
{
Console.WriteLine($"行:{i},列:{j},值:{strArrs[i][j]}");
}
}
}
/// <summary>
/// 创建数组
/// </summary>
public void CreateArray()
{
Array intArr = Array.CreateInstance(typeof(int), 5);
for (int i = 0; i < 5; i++)
{
intArr.SetValue(new Random().Next(10), i);
}
for (int i = 0; i < intArr.Length; i++)
{
Console.WriteLine(intArr.GetValue(i));
}
//版本重载
int[] lengths = { 2, 3 };
int[] lowerBounds = { 1, 10 };
Array racers = Array.CreateInstance(typeof(Person), lengths, lowerBounds);
racers.SetValue(new Person { FirstName = "Alain", LastName = "Prost10" }, 1, 10);
racers.SetValue(new Person { FirstName = "Alain", LastName = "Prost10" }, 1, 11);
racers.SetValue(new Person { FirstName = "Alain", LastName = "Prost10" }, 1, 12);
racers.SetValue(new Person { FirstName = "Alain", LastName = "Prost1" }, 2, 10);
Console.WriteLine(((Person)racers.GetValue(1, 12)).LastName);
}
/// <summary>
/// 克隆数组
/// </summary>
public void CopyArray()
{
int[] arr1 = { 1, 2, 5, 3, 4 };
int[] arr2 = (int[])arr1.Clone();
Console.WriteLine($"{arr2[0]},{arr2[1]}");//复制数组
Array.Sort(arr2);//排序
foreach (var name in arr2)
{
Console.WriteLine(name);
}
}
/ <summary>
/ 迭代器
/ </summary>
/ <returns></returns>
//public IEnumerable<string> GetEnumerator()
//{
// yield return "Hello";
// yield return "World";
//}