C#一维数组
定义数组
数据类型[] 数组名;
初始化数组中的元素
数据类型[] 数组名 = new 数据类型[长度];
数据类型[] 数组名 = {值 1, 值 2, …}
数据类型[] 数组名 = new 数据类型[长度]{值 1,值 2,…}
//有一个 int 类型的数组,输出数组中的第一个元素和最后一个元素
//定义int类型的数组
int[] a = {
1, 2, 3 };
//输出数组中的一个元素
Console.WriteLine(a[0]);
//输出数组中的最后一个元素
Console.WriteLine(a.Length);
Console.WriteLine(a[a.Length - 1]);
Console.Read();
C#多维数组
//定义多维数组
数据类型[ , , ...] 数组名;
//创建多维数组并初始化
数据类型[ , , ...] 数组名 = new 数据类型[m,n,...] {
{
, , ...},{
, , ...}};
- 从上面定义的语法可以看出,它与一维数组的定义非常类似,每多一个维度则在定义时的[]中增加一个“,”。
- 存取数组中的值也是将下标用“,”隔开。
//定义一个存放学生成绩的二维数组,并将该数组中每个学生的成绩输出。
double[,] points = {
{
90, 80 }, {
100, 89 }, {
88.5, 86 } };
for(int i = 0; i < points.GetLength(0); i++)
{
Console.WriteLine("第" + (i + 1) + "个学生成绩:");
for(int j = 0; j < points.GetLength(1); j++)
{
Console.Write(points[i,j] + " ");
}
Console.WriteLine();
Console.Read();
}
C# foreach循环用法详解
- foreach 循环用于列举出集合中所有的元素,foreach 语句中的表达式由关键字 in 隔开的两个项组成。
- in 右边的项是集合名,in 左边的项是变量名,用来存放该集合中的每个元素。
foreach(数据类型 变量名 in 数组名)
{
//语句块;
}
//创建一个 double 类型的数组,并在该数组中存入 5 名学生的考试成绩,计算总成绩和平均成绩。
double[] points = {
80, 88, 86, 90, 75.5 };
double sum = 0;
double avg = 0;
foreach(double point in points)
{
sum = sum + point;
}
avg = sum / points.Length;
Console.WriteLine("总成绩为:" + sum);
Console.WriteLine("平均成绩为:" + avg);
Console.Read();
C# Split:将字符串拆分为数组
- Split 方法用于按照指定的字符串来拆分原有字符串,并返回拆分后得到的字符串数组。
//从控制台输入一个字符串,然后计算该字符串中包含的逗号的个数。
//如果要查询逗号的个数,通过拆分方法 Split 将拆分结果存放到字符串数组中,数组的长度减 1 即为字符串中含有逗号的个数
Console.WriteLine("请输入一个字符串:");
string str = Console.ReadLine();
string[] condition = {
"," };
string[] result = str.Split(condition, StringSplitOptions.None);
Console.WriteLine("字符串中含有逗号的个数为:" + (result.Length - 1));
Console.Read();
- 在使用 Split 方法时,需要注意该方法中传递的参数(condition, StringSplitOptions.None)。
- 第一个参数是拆分的条件数组,可以在该数组中存放多个字符串作为拆分的条件。
- 参数 StringSplitOptions.None 是拆分的选项,表示如果在拆分时遇到空字符也拆分出一个元素。
C#冒泡排序(Sort方法)
- 冒泡排序的原理是将数组元素中相邻两个元素的值进行比较,将较小的数放到前面,每一次交换都将最大的数放到最后,依次交换后最终将数组中的元素从小到大排序。
//创建一个整型数组,并在该数组中存放 5 个元素,使用冒泡排序算法将数组中的元素从小到大排序。
int[] a = {
5, 1, 7, 2, 3 };
for(int i = 0; i < a.Length; i++)
{
for(int j = 0; j < a.Length - i - 1; j++)
{
if (a[j] > a[i + 1])
{
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
Console.WriteLine("升序排序后的结果为:");
foreach(int b in a)
{
Console.Write(b + "");
}
Console.WriteLine();
Console.Read();
- 如果要对数组中的元素从大到小排序,只需要将 if(a[j]>a[j+1]) 语句更改成 if(a[j]<a[j+1]) 即可。
数组中常用的方法如下所示:
- Clear() 清空数组中的元素
- Sort() 冒泡排序,从小到大排序数组中的元素
- Reverse() 将数组中的元素逆序排列
- IndexOf() 查找数组中是否含有某个元素,返回该元素第一次出现的位置,如果没有与之匹配的元素,则返回 -1
- LastIndexOf() 查找数组中是否含有某个元素,返回该元素最后一次出现的位置
C# enum:枚举类型
访问修饰符 enum 变量名 : 数据类型
{
值l,
值2,
}
//创建类 EnumTest, 在该类中定义一个枚举类型存放教师职称(助教、讲师、副教授、教授)。
class EnumTest
{
public enum Title : int
{
助教,
讲师,
副教授,
教授
}
}
//在 Main 方法中分别打印出每个枚举值对应的整数值。
Console.WriteLine(EnumTest.Title.助教 + ": " + (int)EnumTest.Title.助教);
Console.WriteLine(EnumTest.Title.讲师 + ":" + (int)EnumTest.Title.讲师);
Console.WriteLine(EnumTest.Title.副教授 + ":" + (int)EnumTest.Title.副教授);
Console.WriteLine(EnumTest.Title.教授 + ":" + (int)EnumTest.Title.教授);
Console.Read();
C# struct:结构体类型
- 结构体与类比较相似,由于它是值类型,在使用时会比使用类存取的速度更快,但灵活性方面没有类好。
访问修饰符 struct 结构体名称
{
//结构体成员
}
class StudentClass
{
static void Main(string[] args)
{
student stu = new student();
stu.Name = "张三";
stu.Age = 18;
Console.WriteLine("学生的信息为:");
Console.WriteLine(stu.Name + ":" + stu.Age);
Console.Read();
}
//结构体
struct student
{
private string name;
private int age;
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public int Age
{
get
{
return age;
}
set
{
if (value < 0)
{
value = 0;
}
else
{
age = value;
}
}
}
}
}
今天的文章C#数组详解分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/24133.html