C#中用数组实例化一个类,如何给数组每个成员的字段进行赋值
classstudent{publicintchinese;//student类有三个字段publicintmath;publicintenglish;}classPro...
class student
{
public int chinese; //student类有三个字段
public int math;
public int english;
}
class Program
{
static void Main(string[] args)
{
student[] a= new student[10];
a[0].chinese = 1;
}
如上所示,意图给a[0]的字段进行赋值,结果运行时报错"未将对象引用设置到对象的实例。"请高手们看看哪错了,或者有什么办法实现该功能。 展开
{
public int chinese; //student类有三个字段
public int math;
public int english;
}
class Program
{
static void Main(string[] args)
{
student[] a= new student[10];
a[0].chinese = 1;
}
如上所示,意图给a[0]的字段进行赋值,结果运行时报错"未将对象引用设置到对象的实例。"请高手们看看哪错了,或者有什么办法实现该功能。 展开
3个回答
展开全部
ArrayList是一种动态数组,其容量可随着我们的需要自动进行扩充.
ArrayList位于System.Collections命名空间中,所以我们在使用时,需要导入此命名空间.
在Student类的基础上利用ArrayList操作,从而了解ArrayList的用法
public class Student
{
public Student(){}
public Student(String name,int age,String hobby)
{
this.Name = name;
this.Age = age;
this.Hobby = hobby;
}
private String name;
public String Name
{
get{return name;}
set{name = value;}
}
private int age;
public int Age
{
get{return age;}
set{age = value;}
}
private String hobby;
public String Hobby
{
get{return hobby;}
set{hobby = value;}
}
public void say()
{
Console.WriteLine("大家好,我是'{0}',今年{1}岁,我喜欢'{2}'",
this.Name,this.Age,this.Hobby);
}
}
编写测试类,了解ArrayList的方法
using System.Collections;
public class TestStudent
{
public static void main(String args [])
{
//建立ArrayList对象
ArrayList students = new ArrayList();
//实例化几个Student类对象
Student rose = new Student("rose",25,"reading");
Student jack = new Student("jack",28,"singing");
Student mimi = new Student("mimi",26,"dancing");
//利用ArrayList类的add()方法添加元素
students.add(rose);
students.add(jack);
students.add(mimi);
//利用ArrayList的Count属性查看该集合中的元素数量
int number = students.Count;
Console.WriteLine("共有元素" + number + "个");
//读取单个元素,因为存入ArrayList中的元素会变为Object类型,
//所以,在读取时间,
Student stu = students[0] as Student;
stu.say();
//遍历元素 -- 通过索引
for(int i = 0;i < students.Count;i ++)
{
Student a = students[i] as Student;
a.say();
}
//利用foreach循环
foreach(Object o in students)
{
Student b = o as Student;
b.say();
}
//删除元素 通过索引删除
students.removeAt(0);
//删除元素, 通过对象名
students.remove(jack);
//清空元素
students.Clear();
//我们知道,ArrayList的容量会随着我们的需要自动按照一定规律
//进行填充,当我们确定不再添加元素时,我们要释放多余的空间
//这就用到了Capacity属性和TrimtoSize()方法
//利用Capacity属性可以查看当前集合的容量
//利用TrimtoSize()方法可以释放多余的空间
//查看当前容量
int number = students.Capacity;
//去除多余的容量
students.TrimtoSize();
}
}
ArrayList位于System.Collections命名空间中,所以我们在使用时,需要导入此命名空间.
在Student类的基础上利用ArrayList操作,从而了解ArrayList的用法
public class Student
{
public Student(){}
public Student(String name,int age,String hobby)
{
this.Name = name;
this.Age = age;
this.Hobby = hobby;
}
private String name;
public String Name
{
get{return name;}
set{name = value;}
}
private int age;
public int Age
{
get{return age;}
set{age = value;}
}
private String hobby;
public String Hobby
{
get{return hobby;}
set{hobby = value;}
}
public void say()
{
Console.WriteLine("大家好,我是'{0}',今年{1}岁,我喜欢'{2}'",
this.Name,this.Age,this.Hobby);
}
}
编写测试类,了解ArrayList的方法
using System.Collections;
public class TestStudent
{
public static void main(String args [])
{
//建立ArrayList对象
ArrayList students = new ArrayList();
//实例化几个Student类对象
Student rose = new Student("rose",25,"reading");
Student jack = new Student("jack",28,"singing");
Student mimi = new Student("mimi",26,"dancing");
//利用ArrayList类的add()方法添加元素
students.add(rose);
students.add(jack);
students.add(mimi);
//利用ArrayList的Count属性查看该集合中的元素数量
int number = students.Count;
Console.WriteLine("共有元素" + number + "个");
//读取单个元素,因为存入ArrayList中的元素会变为Object类型,
//所以,在读取时间,
Student stu = students[0] as Student;
stu.say();
//遍历元素 -- 通过索引
for(int i = 0;i < students.Count;i ++)
{
Student a = students[i] as Student;
a.say();
}
//利用foreach循环
foreach(Object o in students)
{
Student b = o as Student;
b.say();
}
//删除元素 通过索引删除
students.removeAt(0);
//删除元素, 通过对象名
students.remove(jack);
//清空元素
students.Clear();
//我们知道,ArrayList的容量会随着我们的需要自动按照一定规律
//进行填充,当我们确定不再添加元素时,我们要释放多余的空间
//这就用到了Capacity属性和TrimtoSize()方法
//利用Capacity属性可以查看当前集合的容量
//利用TrimtoSize()方法可以释放多余的空间
//查看当前容量
int number = students.Capacity;
//去除多余的容量
students.TrimtoSize();
}
}
展开全部
class Program
{
static void Main(string[] args)
{
//定义了10个元素的数组,每个元素都是null(空引用)
student[] a= new student[10];
//实例化一个Student将这个实例的引用赋值给数组第一个元素
a[0] = new Student();
a[0].chinese = 1;
……
a[1] = new Student;
a[1].math = 59;
……
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询