结构体 20140827

一、定义

结构体是自定义的新数据类型,所包含数据称为成员,成员数据可为多种数据类型,能更准确的描述事物.

在结构体的使用中,强制转换不可使用Convert.,因其只能用来转换默认数据类型,结构体成员中也可包含结构体类型的数据.

二、构建

 public struct ReportCard

public--公用的     struct--构建      ReportCard--结构体名称

PS:构建结构体时写在Main函数外,将"class……"删除,这样右边所有项均可使用.

 三、例

例1:创建结构体,显示学生学号、姓名、CSharp成绩、Web成绩、DataBass成绩及总分.

{
        public struct ReportCard
        {
            public int No;
            public string name;
            public int CSharp;
            public int Web;
            public int DataBase;
            public int Sum;
        }
        

        static void Main(string[] args)
        {
            ReportCard Z=new ReportCard();
            Z.No=1;
            Z.name="张涛";
            Z.CSharp=92;
            Z.Web=95;
            Z.DataBase=90;
            Z.Sum=Z.CSharp+Z.Web+Z.DataBase;

            Console.WriteLine("学号:{0},姓名:{1},C#成绩{2},网页成绩:{3},数据库成绩:{4},总分:{5}",Z.No,Z.name,Z.CSharp,Z.Web,Z.DataBase,Z.Sum);

        }
}

信息返回:

 

例2:成绩表,显示学生学号、姓名、CSharp成绩、Web成绩、DataBass成绩及总分.

{
        public struct Score
        {
            public int CSharp;
            public int Web;
            public int DataBaes;
            public int Sum;
        }
        public struct student
        {
            public int No;
            public string name;
            public Score Degree;
        }
        static void Main(string[] args)
        {
            student[] st= new student[4];
            //输入
            for(int i=0;i<4;i++)
            {
                st[i].No = i + 1;
                Console.WriteLine("正在输入第{0}个学生的成绩",st[i].No);                
                Console.Write("姓名:");
                st[i].name=Console.ReadLine();
                st[i].Degree=new Score();
                Console.Write("CSharp:");
               st[i].Degree.CSharp=Convert.ToInt32(Console.ReadLine());
                Console.Write("网页:");
                st[i].Degree.Web=Convert.ToInt32(Console.ReadLine());
                Console.Write("数据库:");
                st[i].Degree.DataBaes = Convert.ToInt32(Console.ReadLine());
                st[i].Degree.Sum=st[i].Degree.CSharp+st[i].Degree.Web+st[i].Degree.DataBaes;
                
            }
            //排序
            for(int i=1;i<4;i++)
            {
                for(int j=1;j<5-i;j++)
                {
                    if(st[j-1].Degree.Sum<st[j].Degree.Sum)
                    {
                        student t=st[j-1];
                        st[j-1]=st[j];
                        st[j]=t;
                    }

                }
            }
            //输出
            Console.WriteLine("学号	姓名	CSharp	网页	数据库	总分	名次");
            for(int i=0;i<4;i++)
            {
                Console.Write(st[i].No+"	");
                Console.Write(st[i].name+"	");
                Console.Write(st[i].Degree.CSharp+"	");
                Console.Write(st[i].Degree.Web+"	");
                Console.Write(st[i].Degree.DataBaes+"	");
                Console.Write(st[i].Degree.Sum+"	");
                Console.WriteLine(i+1);
            }
        }
    }
}

返回信息:

原文地址:https://www.cnblogs.com/DORCASQING/p/3944028.html