C#数组详解

C#数组详解C#一维数组定义数组数据类型[]数组名;初始化数组中的元素数据类型[]数组名=new数据类型[长度];数据类型[]数组名={值1,值2,…}数据类型[]数组名=new数据类型[长度]{值1,值2,…}//有一个int类型的数组,输出数组中的第一个元素和最后一个元素//定义int类型的数组int[]a={1,2,3};//输出数组中的一个元素Console.WriteLine(a[0]);

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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注