锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

C#数组详解

时间:2023-09-10 22:07:02 37zkh矩形电连接器

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]

数组中常用的方法如下所示:

  • 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;
               }
           }
       }
   }
}
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章