c#存在 ArrayList中的数据,如何查询显示出来?

classStudent{ArrayListId=newArrayList();//把学号、姓名、数学成绩、英语成绩、java成绩都存在动态数组里。ArrayListNa... class Student
{
ArrayList Id = new ArrayList();//把学号、姓名、数学成绩、英语成绩、java成绩都存在动态数组里。
ArrayList Name = new ArrayList();
ArrayList Math = new ArrayList();
ArrayList English = new ArrayList();
ArrayList Java = new ArrayList();
public void Input() //录入成绩信息
{
Console.Write("学号:");
Id.Add(Console.ReadLine());
Console.Write("姓名:");
Name.Add(Console.ReadLine());
Console.Write("数学成绩:");
Math.Add(Console.ReadLine());
Console.Write("英语成绩:");
English.Add(Console.ReadLine());
Console.Write("java成绩:");
Java.Add(Console.ReadLine());
}
public Show()

{
}
}
class Program
{
static void Main(string[] args)
{
Student a = new Student();
a.Input();
a.Show();
Console.ReadLine();
}
}
我在类Student定义了Show()函数,可是我不知道该怎么写它了。
我是想实例化一个Student类的对象a后,根据对象a的学号来调用Show()函数,然后可以显示出 学号、姓名、数学成绩、英语成绩、java成绩
可是,现在这个Show()函数,我不懂写。求助
展开
 我来答
shuibiyy
2014-09-03 · TA获得超过1724个赞
知道小有建树答主
回答量:446
采纳率:100%
帮助的人:143万
展开全部
public class Student
{
public int id; //学号
public string name;
public float score;
public string courseName;
private List<Student> list=new List<Student>();
public Student() { }
private Student(int id, float score, string name, string courseName)
{
this.id = id;
this.name = name;
this.score = score;
this.courseName = courseName;

}
public void Add(int id, float score, string name, string courseName) //加入学生信息
{
list.Add(new Student(id,score,name,courseName));
}
public List<Student> GetStudentList()
{
return list;
}
public List<Student> show(int id) //根据学号查询
{
return list.Where(o => o.id==id).ToList<Student>();

}

}

class Program
{
static void Main(string[] args)
{
//测试
Student student = new Student();
student.Add(1001, 90, "小明", "java");
student.Add(1002, 85, "红", "java");
List<Student> list = student.show(1001);
foreach (Student model in list)
{
Console.WriteLine(model.name);
}

Console.ReadKey();
}
}
xiangjuan314
2016-01-18 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2903万
展开全部
(一)我们先建立一个二维数组
listView1.View = View.Details;
listView1.Columns.Add("姓名");
listView1.Columns.Add("语文");
listView1.Columns.Add("数学");
listView1.Columns.Add("科学");
listView1.Columns.Add("英语");
string[,] chengji = new string[4, 5];
chengji[0, 0] = "小王";
chengji[0, 1] = "90";
chengji[0, 2] = "98";
chengji[0, 3] = "88";
chengji[0, 4] = "92";
chengji[1, 0] = "小李";
chengji[1, 1] = "92";
chengji[1, 2] = "94";
chengji[1, 3] = "98";
chengji[1, 4] = "93";
chengji[2, 0] = "小黄";
chengji[2, 1] = "91";
chengji[2, 2] = "92";
chengji[2, 3] = "93";
chengji[2, 4] = "94";
chengji[3, 0] = "小张";
chengji[3, 1] = "95";
chengji[3, 2] = "94";
chengji[3, 3] = "93";
chengji[3, 4] = "92";

(二)下面是几种分列显示二维数组的几种方法。
1、第一种分列显示方法:
listView1.Clear();
for (int i = 0; i < chengji.GetLength(0); i++)
{
ListViewItem bb = new ListViewItem(new string[] { chengji[i, 0], chengji[i, 1], chengji[i, 2], chengji[i, 3], chengji[i, 4] });
listView1.Items.Add(bb);
}
2、第二种分列显示方法:
上面的listview分列显示还可以用下面的方法。
listView1.Clear();
ListViewItem cj;
for (int i = 0; i < chengji.GetLength(0); i++)
{
cj = new ListViewItem(chengji[i,0]);
cj.SubItems.Add(chengji[i, 1]);
cj.SubItems.Add(chengji[i,2]);
cj.SubItems.Add(chengji[i, 3]);
cj.SubItems.Add(chengji[i, 4]);
listView1.Items.Add(cj);
3、第三种分列显示方法:
如果我们把二维数组转化为一维数组(即结合上面两种方法)还可以用下面的方法分列显示。
listView1.Clear();
ListViewItem cjj;
string[] sstr = new string[chengji.GetLength(1)];
for (int i = 0; i < chengji.GetLength(0); i++)
{
for (int j = 0; j < chengji.GetLength(1); j++)
{
sstr[j] = chengji[i, j];
}
cjj = new ListViewItem(sstr);
listView1.Items.Add(cjj);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Axure夜话
2014-09-03 · 知道合伙人软件行家
Axure夜话
知道合伙人软件行家
采纳数:1197 获赞数:1344
1992年毕业于太原理工大学,20年IT公司工作经验现任山西誉海和科技有限公司技术总监,老二牛车教育课程总监

向TA提问 私信TA
展开全部
哈哈,你的这个类和面向对象设计的概念有点距离
以目前的方式,使用foreach循环其中arraylist集合,然后在从其它集合众按照索引去相关的其他值
你把简单的问题复杂化了,就设计一个Arraylist就可以了
追问
只设计一个Arraylist的话,该怎么弄?
追答
新建一个对象student,这个包含学号、姓名、数学成绩、英语成绩、java成绩等

创建一个Arraylist泛型集合(可能你不会),或者普通的arraylist集合,把student对象的实例加入就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
402210313
2014-09-03 · TA获得超过1056个赞
知道小有建树答主
回答量:499
采纳率:50%
帮助的人:237万
展开全部
public void show(ArrayList al)
{
for (int i = 0; i < al.Count; i++)
{
Console.WriteLine(al[i]);
}
}
追问
我在Program中实例化时,该怎么调用你写的这个函数呢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式