C#程序设计(2)
一、 实验目的
1.掌握构造函数定义与使用。
2.区分类的静态成员和实例成员。
二、 实验要求
1. 定义学生类,
字段:学号(字符串类型)姓名(字符串类型)性别(枚举类型)年龄(整形类型) 学生个数(静态整形 用于统计学生实例个数 )
函数:构造函数:参数为前四个字段; 静态函数:无参数,返回值为整形即学生实例个数
在Main函数中使用定义的构造函数实例化4个学生类对象,在创建每一个学生实例后立即输出学生信息,并调用静态函数输出学生实例个数,注意静态字段、静态函数的使用。
求 帮忙 写程序 谢谢
C#程序设计(2) 一、 实验目的 1.掌握构造函数定义与使用。 2.区分类的静态成员和实例成员。 二、 实验要
答案:2 悬赏:50
解决时间 2021-01-29 18:11
- 提问者网友:放荡不羁
- 2021-01-29 04:59
最佳答案
- 二级知识专家网友:苦柚恕我颓废
- 2021-01-29 05:18
class Student
{
string studentid;
string studentname;
string studentsex;
public enum thestudentsex
{
boy,
girl
}
int studentage;
static int studentnum;
public Student(string id,string name,thestudentsex sex,int age)
{
studentid = id;
studentname = name;
if(sex==thestudentsex.boy)
{
studentsex = "男";
}
else
{
studentsex = "女";
}
studentnum++;
studentage = age;
}
private static int GetStudentNum()
{
return studentnum;
}
static void Main(string[] args)
{
Student stu1 = new Student("123456", "王一", thestudentsex.boy, 22);
Console.Write("学号:" + stu1.studentid + " 姓名:" + stu1.studentname+" 性别:"+stu1.studentsex+" 年龄:"+stu1.studentage.ToString()+"\r\n");
Student stu2 = new Student("453465", "王二", thestudentsex.girl, 24);
Console.Write("学号:" + stu2.studentid + " 姓名:" + stu2.studentname + " 性别:" + stu2.studentsex + " 年龄:" + stu2.studentage.ToString() + "\r\n");
Student stu3 = new Student("456453", "王三", thestudentsex.boy, 27);
Console.Write("学号:" + stu3.studentid + " 姓名:" + stu3.studentname + " 性别:" + stu3.studentsex + " 年龄:" + stu3.studentage.ToString() + "\r\n");
Student stu4 = new Student("777777", "王四", thestudentsex.girl, 28);
Console.Write("学号:" + stu4.studentid + " 姓名:" + stu4.studentname + " 性别:" + stu4.studentsex + " 年龄:" + stu4.studentage.ToString() + "\r\n");
Console.Write("定义了"+GetStudentNum().ToString()+"个学生");
Console.Read();
}
}
{
string studentid;
string studentname;
string studentsex;
public enum thestudentsex
{
boy,
girl
}
int studentage;
static int studentnum;
public Student(string id,string name,thestudentsex sex,int age)
{
studentid = id;
studentname = name;
if(sex==thestudentsex.boy)
{
studentsex = "男";
}
else
{
studentsex = "女";
}
studentnum++;
studentage = age;
}
private static int GetStudentNum()
{
return studentnum;
}
static void Main(string[] args)
{
Student stu1 = new Student("123456", "王一", thestudentsex.boy, 22);
Console.Write("学号:" + stu1.studentid + " 姓名:" + stu1.studentname+" 性别:"+stu1.studentsex+" 年龄:"+stu1.studentage.ToString()+"\r\n");
Student stu2 = new Student("453465", "王二", thestudentsex.girl, 24);
Console.Write("学号:" + stu2.studentid + " 姓名:" + stu2.studentname + " 性别:" + stu2.studentsex + " 年龄:" + stu2.studentage.ToString() + "\r\n");
Student stu3 = new Student("456453", "王三", thestudentsex.boy, 27);
Console.Write("学号:" + stu3.studentid + " 姓名:" + stu3.studentname + " 性别:" + stu3.studentsex + " 年龄:" + stu3.studentage.ToString() + "\r\n");
Student stu4 = new Student("777777", "王四", thestudentsex.girl, 28);
Console.Write("学号:" + stu4.studentid + " 姓名:" + stu4.studentname + " 性别:" + stu4.studentsex + " 年龄:" + stu4.studentage.ToString() + "\r\n");
Console.Write("定义了"+GetStudentNum().ToString()+"个学生");
Console.Read();
}
}
全部回答
- 1楼网友:年轻没有失败
- 2021-01-29 05:49
静态变量 静态对象 静态函数和非静态函数的区别。(我的理解,大家看看对不对)先明确一下语言:asp.net c#
1、静态变量:
static string str1 = "1234";
2、静态对象
static sqlconnection cn = new sqlconnection();
3、静态函数class aa{public static string test(string str){return str & "用bool值作关键字区分学生成绩,group子句中的表达式产生的结果。
public class Student //定义学生类
{
//学生属性列出典型的姓名,ID,成绩,性别和年龄可以按此格式添加
public string Name { get; set; }
public int ID { get; set; }
public List Scores;
}
public static List GetStudents() //静态
{
//实例化学生类作为数据源,注意各成员内部成绩序列初始化要用new关键字
List students = new List
{
new Student {Name="张勇", ID=1, Scores= new List {97, 72, 81, 60}},
new Student {Name="王磊", ID=2 Scores= new List {75, 84, 91, 39}},
new Student {Name="孙敏", ID=3, Scores= new List {88, 94, 65, 85}},
new Student {Name="刘晓", ID=4, Scores= new List {97, 89, 85, 82}},
new Student {Name="扬帆", ID=5, Scores= new List {35, 72, 91, 70}}
};
return students;
}
static void Main()
{
List students = GetStudents();
//用true或false分组,查询变量是IEnumerable>类型
var booleanGroupQuery = from student in students
group student by student.Scores.Average() >= 80;
foreach (var studentGroup in booleanGroupQuery)
{
Console.WriteLine(studentGroup.Key == true ? "平均分高于80" : "平均分低于80");
foreach (var student in studentGroup)
Console.WriteLine("{0,4} {1} {2}", student.ID, student.Name, student.Scores.Average());
}
}
输出:
平均分低于80
1 张勇 77.5
2 王磊 72.25
5 扬帆 67
平均分高于80
3 孙敏 83
4 刘晓 88.25
参见《C#编程指南》(清华大学出版社20法
例如两数相加:
private int add(int x,int y)
{
return x+y;
}
C#的方法和C语言有点不同的是前面多了个关键字(用我自己的语言描述下)
public(开放的,都可以访问)
private(私人的,或说亲兄弟,同父母,只有这个类里的对象可以访问)
protect(朋友,没亲戚关系但是又常见面比较熟,同一个命名空间下的类的对象可以访问)
internal(不同DLL文件间可以访问的,也就是不同解决方案间的对象可以访问,一个解决方案还可以由多个项目组成,说明下,一个DLL文件就是一个解决方案,这名字有点太专业,微软要这么定,也没办法,反正我理解就像打了一个包)
关于你后面那个问题,C#有没有库函数的问题,那C语言的库函数和.NET的类库比起来,那就简直小乌见大乌了,C#就是基于.NET类库的其中一种语言,.NET有个和过去的C语言,B语言,C++语言完全不同的概念,那就是跨语言的,.NET的类库支持C,VB,C++,JAVA等现在很多种常用开发语言,主要是因为.NET有个CLR(通用语言运行时),其实也就是个环境,像JAVA虚拟机一样,提供一种可以进行即时编译的环境,还有个概念就是MSIL,微软中间语言,我们知道JAVA的编译都是最终编译成字节码,但是.NET语言的编译都是编译成MSIL中间语言,然后在CLR中执行第一个方法的时候,才进行JIT编译,进一步编译成更底层的编码。.NET的类库是相当大的,C语言的库函数和.NET的类库比起来,就有点像DOS和WINDOWS,当然只是个比喻哈,也就是说C语言可以用的东西,C#全包含了,通过.NET Framework提供的类库,完全可以用C#实现所有C语言程序,就像WINDOWS里面一样可以使用DOS命令一样(仅是比喻)。.NET为C#专门提供了相当多也相当全的类,属性,方法,涉及到编程应用的各个方面。其中.NET2.0比1.0在WEB开发方面有了相当大的提高。
推荐相当经典的一本书《C#入门经典》,精读这本书,奇妙会在你脑海里蔓延,神奇即将诞生!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯