.............................Windows Phone 7手机开发
今天学了C#的基本数据类型:
值类型是C#的基本类型(int char double,float),结构等
引用类型是数组,string类型数据类型,类等
值类型保存的是值。引用类型保存的是地址。有这麽个例子搞了我很久,
using System;
using System.Collections.Generic;
using System.Text;
namespace Student
{
//2、有五个学生,每个学生有门课的成绩,从键盘输入以上数据
//(包括学生号,姓名,三门课成绩),计算出平均成绩,
//并输出学生信息和平均成绩。
//记录多个学员信息,并可以排序输出。
public class Student//定义一个学生类
{
public string Num;
public string Name;
public double Math;
public double English;
public double Chinese;
public Student()
{
}
public void SetStudent(string num, string name, double math, double english, double chinese)
{
this.Num = num;
this.Name = name;
this.Math = math;
this.English = english;
this.Chinese = chinese;
}
public double Average()
{
return (Math + Chinese + English) / 3;
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Student
{
class Program
{
static void Main(string[] args)
{
Student[] ss = new Student[5];
for (int i = 0; i < ss.Length; i++)
{
Console.Write("请输入学号:");
ss[i] .num = Convert.ToString(Console.ReadLine());
Console.Write("请输入姓名:");
ss[i] . name = Convert.ToString(Console.ReadLine());
Console.Write("请输入数学:");
ss[i] . math = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入英语:");
ss[i] . english = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入语文:");
ss[i] .chinese = Convert.ToInt32(Console.ReadLine());
}
for (int i = 0; i < 4; i++)
{
for (int j = i+1; j < 5; j++)
{
Student temp;
if (ss[i].Average() > ss[j].Average())
{
temp = ss[i];
ss[i] = ss[j];
ss[j] = temp;
}
}
}
for (int i = 0; i < 5; i++)
{
Console.Write("学生的编号:{0}\n学生的姓名:{1}\n数学成绩:{2}\n英语成绩:{3}\n语文成绩:{4}\n平均分:{5}",
ss[i].Num, ss[i].Name, ss[i].Math, ss[i].English, ss[i].Chinese, ss[i].Average());
}
}
}
}
看了半天都没看出来,后来老师讲了值类型和引用类型是才发现了,我定义的数组虽然申请的大小,但是没有实例化对象,数组保存的是null;所以老提示未将对象引用到实例。
ss[i]=new Student();就加这句话在 Console.Write("请输入学号:")前面;
这个例子深刻的解释了引用类型和值类型的区别;
今天学了C#的基本数据类型:
值类型是C#的基本类型(int char double,float),结构等
引用类型是数组,string类型数据类型,类等
值类型保存的是值。引用类型保存的是地址。有这麽个例子搞了我很久,
using System;
using System.Collections.Generic;
using System.Text;
namespace Student
{
//2、有五个学生,每个学生有门课的成绩,从键盘输入以上数据
//(包括学生号,姓名,三门课成绩),计算出平均成绩,
//并输出学生信息和平均成绩。
//记录多个学员信息,并可以排序输出。
public class Student//定义一个学生类
{
public string Num;
public string Name;
public double Math;
public double English;
public double Chinese;
public Student()
{
}
public void SetStudent(string num, string name, double math, double english, double chinese)
{
this.Num = num;
this.Name = name;
this.Math = math;
this.English = english;
this.Chinese = chinese;
}
public double Average()
{
return (Math + Chinese + English) / 3;
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Student
{
class Program
{
static void Main(string[] args)
{
Student[] ss = new Student[5];
for (int i = 0; i < ss.Length; i++)
{
Console.Write("请输入学号:");
ss[i] .num = Convert.ToString(Console.ReadLine());
Console.Write("请输入姓名:");
ss[i] . name = Convert.ToString(Console.ReadLine());
Console.Write("请输入数学:");
ss[i] . math = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入英语:");
ss[i] . english = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入语文:");
ss[i] .chinese = Convert.ToInt32(Console.ReadLine());
}
for (int i = 0; i < 4; i++)
{
for (int j = i+1; j < 5; j++)
{
Student temp;
if (ss[i].Average() > ss[j].Average())
{
temp = ss[i];
ss[i] = ss[j];
ss[j] = temp;
}
}
}
for (int i = 0; i < 5; i++)
{
Console.Write("学生的编号:{0}\n学生的姓名:{1}\n数学成绩:{2}\n英语成绩:{3}\n语文成绩:{4}\n平均分:{5}",
ss[i].Num, ss[i].Name, ss[i].Math, ss[i].English, ss[i].Chinese, ss[i].Average());
}
}
}
}
看了半天都没看出来,后来老师讲了值类型和引用类型是才发现了,我定义的数组虽然申请的大小,但是没有实例化对象,数组保存的是null;所以老提示未将对象引用到实例。
ss[i]=new Student();就加这句话在 Console.Write("请输入学号:")前面;
这个例子深刻的解释了引用类型和值类型的区别;
.............................Windows Phone 7手机开发