c#中如何通过循环变化数组大小
c#中怎么通过循环变化数组大小
class Program
{
struct student
{
public int id;
public string Name;
public int chinese;
public int math;
}
static void Main(string[] args)
{
Random ran =new Random();
Program p = new Program();
int chushi = 1;
student[] stu = new student[chushi];
bool result=true;
while (result)
{
Console.Write("1.增加 ");
Console.Write("2.删除 ");
Console.Write("3.修改 ");
Console.WriteLine();
Console.Write("4.查询 ");
Console.Write("5.排序 ");
Console.Write("6.退出 ");
Console.WriteLine();
Console.Write("请选择所要的操作:");
string xuanze = Console.ReadLine();
switch(xuanze)
{
case "1":
chushi += 1;
Console.WriteLine("您选择的是操作增加,请输入姓名!");
stu[chushi - 1].id = chushi - 1;
string name=Console.ReadLine();
stu[chushi - 1].Name = name;
stu[chushi - 1].chinese = ran.Next(70, 80);
stu[chushi - 1].math = ran.Next(80, 100);
Console.WriteLine(stu[chushi - 2].Name);
break;
case "2": Console.WriteLine("您选择的是操作删除!"); break;
case "6": Console.WriteLine("您选择的是操作退出!"); result = false; break;
default:break;
}
}
}
因为chushi开始定义0的时候说超过数组范围什么的(所以我在上面写成1,而上面写的只能定义一次数组内的数),怎么做才可以是上面的数组大小跟随chushi这个变量变化而变化大小?在线等!!!
------解决方案--------------------
你为何不这样实现了:
定义:List<student> stuList=new List<student>();stuList.add(student);
用泛型比你那样实现灵活性大很多呀,你那样写太死板了。
class Program
{
struct student
{
public int id;
public string Name;
public int chinese;
public int math;
}
static void Main(string[] args)
{
Random ran =new Random();
Program p = new Program();
int chushi = 1;
student[] stu = new student[chushi];
bool result=true;
while (result)
{
Console.Write("1.增加 ");
Console.Write("2.删除 ");
Console.Write("3.修改 ");
Console.WriteLine();
Console.Write("4.查询 ");
Console.Write("5.排序 ");
Console.Write("6.退出 ");
Console.WriteLine();
Console.Write("请选择所要的操作:");
string xuanze = Console.ReadLine();
switch(xuanze)
{
case "1":
chushi += 1;
Console.WriteLine("您选择的是操作增加,请输入姓名!");
stu[chushi - 1].id = chushi - 1;
string name=Console.ReadLine();
stu[chushi - 1].Name = name;
stu[chushi - 1].chinese = ran.Next(70, 80);
stu[chushi - 1].math = ran.Next(80, 100);
Console.WriteLine(stu[chushi - 2].Name);
break;
case "2": Console.WriteLine("您选择的是操作删除!"); break;
case "6": Console.WriteLine("您选择的是操作退出!"); result = false; break;
default:break;
}
}
}
因为chushi开始定义0的时候说超过数组范围什么的(所以我在上面写成1,而上面写的只能定义一次数组内的数),怎么做才可以是上面的数组大小跟随chushi这个变量变化而变化大小?在线等!!!
------解决方案--------------------
你为何不这样实现了:
定义:List<student> stuList=new List<student>();stuList.add(student);
用泛型比你那样实现灵活性大很多呀,你那样写太死板了。