数组
- 数组的声明:
数据类型[ ] 数组名 = new 数据类型[长度];
,C#的数组是只能储存一种数据类型。
数组经过初始化以后,数组元素有默认的初始值, double 类型为 0.0 , int 类型为 0 , char 类型为 'a' , bool 类型为 false , string 类型为 null 。 - 数组下标的那个索引是从0开始自增的。
-
数组.Length
属性返回数组的长度。 - 注意C#的数组的长度是用中括号括起来的。
上面学的是数组的声明、初始化,索引元素。
数组的初始化
- 先声明再初始化:
char[] x= new char[2];
name[0] = 'a';
name[1] = 'b';
- 声明的同时初始化
char[] y= new char[]{'a','b'}
- 声明的同时初始化,并且指定长度
char[] j= new char[2]{'a','b'}
- 不需要通过实例化对象声明和初始化
char[] k= {'a','b'}
算法——查找
- 1、循环访问一组数据,从中找出符合条件的数据,这样的算法叫做查找。
- 2、一是写循环访问每一个数据,二是对每一个数据进行验证。这样,就需要写 2 个“条件”:循环条件和筛选条件
- 如果不需要输出所有数据的,需要用一个标签变量来存储是否。一般为
bool
值。
循环条件必须能够遍历每一个数据,如果你写的循环条件会漏掉某些数据,或者循环没有能够正常运行,请检查是不是把筛选条件也写在循环条件里了。。 - 这些算法使用的时候需要用到
for
循环,同时也可以使用foreach
循环。foreach循环
主要用于没索引的数组。
foreach循环
二维数组
- 二维数组,就是以数组作为元素的数组。
- 二维数组这样声明:
int[,] arr = new int[2,3]; //包含2个一维数组,每个一维数组包含3个变量,总共2*3=6个数组元素
- 二维数组元素这样赋值和打印:
arr[1,0] = 28; //二维数组元素有2个索引,都是从0开始,以arr数组为例,元素索引从[0,0]到[1,2]
Console.Write( arr[1,0] );
- 数组长度
score.GetLongLength(0)
返回的是一维数组的长度。
编程题:
一次考试,各位同学的姓名和分数如下:
学生姓名与成绩
请编写程序,输出分数最高的同学的姓名和分数。运行效果如下:
using System;
using System.Collections.Generic;
using System.Text;
namespace projGetMaxScore
{
class Program
{
static void Main(string[] args)
{
string[] name = new string[8]{"吴松","钱东宇","伏晨","陈陆","周蕊","林日鹏","何昆","关欣"};
int[] scores = new int[8]{89,90,98,56,60,91,93,85};
int score = scores[0] ;
int j = 0;
for(int i=0; i<scores.GetLongLength(0); i++){
if(scores[i] > score){
score = scores[i];
j = i ;
}
}
Console.WriteLine("分数最高的是{0},分数是{1}",name[j],score);
}
}
}
- 字符串转成整型:
int.Parse(string);