ITPub博客

首页 > Linux操作系统 > Linux操作系统 > c#之结构struct(2)_小记

c#之结构struct(2)_小记

原创 Linux操作系统 作者:wisdomone1 时间:2011-08-23 14:45:21 0 删除 编辑
2011年8月23日 星期二 13时33分

struct结构类型
public struct zxy //结构名称有访问修SHI符
{
  public int length;//结构成员体也有访问修SHI符
  public int weight;
}

//结构是值类型
//FENG装小型变量组
struct 类型是一种值类型,通常用来封装小型相关变量组,例如,矩形的坐标或库存商品的特征。 下面的示例显示了一个简单的结构声明。

public struct Book
{
    public decimal price;
    public string title;
    public string author;
}

备注

//结构包含构造函数,FIELD,METHOD,ATTRIBUTE,索引器,运算符,事件
//NESTED TYPE
结构还可以包含构造函数、常量、字段、方法、属性、索引器、运算符、事件和嵌套类型,但如果同时需要上述几种成员,则应当考虑改为使用类作为类型。

结构可以实现接口,但它们无法继承另一个结构。 因此,结构成员无法声明为 protected。





using System;


   public class St
   {


       private static int _s;
       public struct zxy
       {
          public int length;//结构类型的成员也有访问修SHI符,不然调用方没法访问它
          public int weight;

           //结构成员就是一个方法的声明
          //结构体成员的方法声明须有访问修SHI符
          public  void SetSt(int a)
          {
              length = a;//为结构体成员weight提供值
          }

           //结构成员是属性访问器
          public int S
          {
              get
              {
                  return St._s;//在结构体成员不能直接访问非静态类的成员
              }
              set
              {
                  St._s = value;
              }
          }
       }
         
        //静态方法用于改变结构成员的属性访问器set
       public static void Chg_s(int _new)
       {
           _s = _new;
       }
       public static void Main()
       {
           zxy z;
           z.length = 1;
           z.weight = 3;
           Console.WriteLine(z.length);
           Console.WriteLine(z.weight);

           Console.WriteLine();//回车换新行,其实就是搞一个新空行出来

           z.SetSt(88);//结构体成员weight通过结构体成员方法由变为
           Console.WriteLine(z.length);

           St._s = 1234;
           Console.WriteLine(St._s);

           Console.WriteLine(z.S);//通过结构成员的属性访问器get返回_s的值为

           St.Chg_s(666);
           Console.WriteLine(z.S);
           Console.ReadKey();
       }
       
   
    }











using System;
public class Test
{
    struct Dimensions //结构声明
    {
        public double length;
        public double width;

        //结构体成员为构造函数
        //就是为结构初始化所用
        public Dimensions(Double len, double wid)
        {
             length = len;
             width = wid;
        }

        //结构其实是继承于system.object基类,所以可以重写object类的方法tostring
        public override string ToString()
        {
            return "(" + length.ToString() + ";" + width.ToString() + ")";
        }
    }
    public static void Main()
    {
          //要在main方法中调用类的结构,必须结构声明为public不然难以访问
        Dimensions d = new Dimensions(1, 8);
        Console.WriteLine(d.length);//输出结构成员
        Console.WriteLine(d.width);
        Console.WriteLine(d.ToString());//调用结构成员的重写object类之tostring方法
        Console.ReadKey();
    }

}

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-705623/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb 工作经历: 中国普天 北京科蓝 北京云和恩墨 北京神州新桥

注册时间:2008-04-04

  • 博文量
    2189
  • 访问量
    11975424