今天咱们了解下C#中的数组
后面会讲到集合、泛型集合
咱们分开来讲,免得出现混乱
讲完这三个,咱们再汇总一下,看看有什共同点和不同点
定义一个数组:
int[] i = new int[]; int[] j = new int[] { , , , , , , , , , };
两种定义方式
数组定义:一定要规定长度、一定要规定类型
当然,上面是int类型的数组,你也可以定义string类型的数组,但是数组就一定要有长度和类型的限制
那咱们一起来尝试下C#中的冒泡排序,咱们分别用int型和string型来做
int类型的冒泡排序
代码贴入
int[] i = new int[] { , , , , , , , , , }; for (int a = ; a < i.Length; a++)
{
for (int b = a + ; b < i.Length; b++)
{
if (i[a] < i[b])
{
int j = i[a];
i[a] = i[b];
i[b] = j;
}
}
Console.WriteLine(i[a]);
}
Console.ReadLine();
string类型
代码贴入
string[] ss = new string[] { "aaa", "a", "aa", "aaaaa", "aaaa" };
//长度从大到小打印出来,从小到大打印出来
for (int i = ; i < ss.Length; i++)
{
for (int j = i + ; j < ss.Length; j++)//长度比较大小
{
if (ss[i].Length < ss[j].Length)//如果第一段长度小于第二段长度
{
string b = ss[i]; // 那么位置调换过来
ss[i] = ss[j];
ss[j] = b;
}
}
Console.WriteLine(ss[i]);
}
Console.ReadLine();
下面分别是其效果图
int类型是依照其大小判断
string类型是依照其长度大小来判断
2017-11-04 11:49:38
数组再充实
创建数组
byte[] a = new byte[]; //创建一个名为a,长度为5的byte型一维数组。 int[] a = new int[] {, , , , }; //也可以采用初始化方式同时给赋值。 double[,] d = new double[, ]; //建立二维数组 double[,] d = new double[,] { {,}, {,}, {,}, {,} }; //声明一个4行2列的二维数组并赋值
多维数组
int[, ,] s = new int[, , ];
for (int i = ; i < ; i++) //通过三个for循环对该三维数组进行赋值
{
for (int j = ; j < ; j++)
{
for (int m = ; m < ; m++)
{
s[i, j, m] = i + j + m;
}
}
}
foreach (int k in s) //用foreach循环输出数组中的所有元素导控制台显示
{
Console.Write(k.ToString() + " ");
}
Console.ReadKey();
动态数组
3、动态数组
ArrayList类包含在System.Collections 命名空间中。
Capacity:获取或设置 ArrayList 所包含的元素数。
Count:获取 ArrayList 所包含的实际元素数。
Add():将对象添加到 ArrayList 的结尾处。
Clear():从 ArrayList 中移除所有元素。
Contains():确定某元素是否在 ArrayList 中。
Insert():将对象插入到 ArrayList 的指定索引处。
RemoveAt():移除 ArrayList 的指定索引处的元素。
Reverse():将指定范围内元素的顺序反转。
Sort():用指定的比较器对 ArrayList 某个范围内的元素进行排序。
ArrayList a1 = new ArrayList();
//向ArrayList 结尾处添加4种不同类型的对象
a1.Add(0.05f);
a1.Add("sss");
a1.Add('s');
a1.Add();
Console.WriteLine("当前ArrayList 里的全部元素如下:");
for (int i = ; i < ; i++)
{
Console.Write(a1[i] + " ");
}
Console.WriteLine("\n 当前 ArrayList 里的元素个数共有:");
Console.WriteLine(a1.Count);
a1.Insert(, "aaa"); //在ArrayList 索引值为1处添加字符串aaa
for (int i = ; i < ; i++)
{
Console.Write(a1[i] + " ");
}
Console.WriteLine("\n 倒序后当前ArrayList 里的全部元素如下:");
a1.Reverse();
for (int i = ; i < ; i++)
{
Console.Write(a1[i] + " ");
}
Console.WriteLine("\n 删除后当前ArrayList 里的全部元素如下:");
a1.RemoveAt();
for (int i = ; i < ; i++)
{
Console.Write(a1[i] + " ");
}
Console.ReadKey();
2017-11-04 11:52:19
2017-11-06 11:39:26
数组去重
int[] x = new int[] { , , , , , , , , , , , , , , , , , , , , , }; int[] i = x.Distinct().ToArray(); //for (int k = i.Length - 1; k >= 0; k--)
//{
// Console.WriteLine(i[k]);
//}
foreach (int j in i)
{
Console.WriteLine(j);
} Console.ReadLine();
注释掉的是另外一种方式,不过个人喜欢遍历的方式输出,理解起来简单
2017-11-06 11:41:26