C# 结构struct总结

C# 结构struct总结

  1.结构是值类型,而且是密封的,不能继承和派生。

  2.结构申明:

  struct StructName

  {

    MemberDeclaration

  }

  

  struct Point

  {

    public int x ;  //结构中字段初始化是不允许的

    pub int y ;

  }

  3.结构具有以下特点

  (1)结构与类非常类似,但是结构是值类型,类是引用类型。

  (2)结构实例化可以不适用new运算符。但是在显示设置数据成员之后,才能调用他们的值。

  (3)系统已经为结构提供一个隐式构造函数(无参数),所以结构申明构造函数必须是带参数的。

  (4)结构不支持继承,不能结构派生其他结构。

  (5)申明结构时,不允许在字段初始化时候赋值。

  4.结构的编程例子  

  struct information
  {
    private string colour;
    public string Colour
    {
      get { return colour; }
      set { colour = value; }
    }

  private double hight;
  public double Hight
    {
      set { hight = value; }
      get { return hight; }
    }

  private string gender;
  public string Gender
    {
      set { gender = value; }
      get { return gender; }
    }

  public information(string colour, double hight, string gender)
    {
      //带有参数的构造函数,必须对所有变量赋值!!
      this.colour = colour;
      this.gender = gender;
      this.hight = hight;
    }
   }
  class Program
  {
    static void Main(string[] args)
    {
      information info = new information("red" , 180.1 , "Man");
      information info1 = info;
      Console.WriteLine("colour: {0}\nhight: {1}\ngender: {2} " ,info1.Colour , info1.Hight , info1.Gender);
    }
  }

  

时间: 2024-10-20 16:49:05

C# 结构struct总结的相关文章

使用结构struct作为Dictionary<TKey,TValue>的键

我们经常用简单数据类型,比如int作为泛型Dictionary<TKey,TValue>的key,但有时候我们希望自定义数据类型作为Dictionary<TKey,TValue>的key,如何做到? 如果我们想自定义一个struct类型作为key,就必须针对该struct定义一个实现IEqualityComparer<T>接口的比较类,实现该接口的2个方法:Equals()方法和GetHashCode()方法,前者用来比较两个key是否相等,后者用来获取key的哈希值.

结构 struct

结构是使用struct关键字定义的 结构与类相似,但有两大区别: 1.结构属于值类型,而类属于引用类型; 2.结构是隐式密封的,也就是不可继承的,而一般的类不是隐式密封的. 其他区别: 3.结构中不能再定义无参数构造函数或析构函数,而类中可以 4.结构中普通字段不能直接赋值,只有声明为static或const的字段可以直接赋值(初始化) 5.结构的实例化可以不使用new运算符 结构可以实现接口.

结构struct

1.结构变量 1)定义结构类型 struct student { char *name; int age; int score[3]; }; 2)定义结构变量 struct student stu1, stu2, *ps, stu[30]; 3)结构变量的成员表示 一般结构变量的成员:stu1.name 指向结构变量的指针成员:ps->name 结构数组元素的成员:stu[0].name 4)结构变量可以被赋初值,也可以被赋值 struct student stu1 = {"wang&qu

从结构struct谈到类class(基于C++实现)

深入理解struct 在C语言中,我们通常使用struct来表示不同数据类型的结合.当然我们也可以在struct中定义函数,在C++中,这是允许的但是不提倡使用,因为有一个比它更好使用的复杂数据类型,叫做类(这在稍后做出介绍). 使用struct的时候有一个问题:在进行一个比较大的项目工程的时候,我们的数据结构的定义和使用可能在不同的文件中,当我们修改了数据结构中的某个成员,那么,使用该数据结构的函数必须修改,而我们并不知道拿下函数使用该种数据结构,这时候我们怎么做?答案很简单,在函数定义的时候

C#_基础_结构Struct(八)

一般情况下,不建议使用结构. 结构中可以包含多种不同类型的字段,方法 定义一个结构: 1 public struct Person 2 { 3 public string _name;//命名规范字段前前加下划线 4 public int _age; 5 public char _gender; 6 public QQState _state; //枚举类型 7 } 结构声明:调用 1 //声明结构变量,实质上和枚举一样,int 都是变量, 2 Person zhangsan; 3 zhangs

详说C#中的结构struct

一.结构和类的区别 1.结构的级别和类一致,写在命名空间下面,可以定义字段.属性.方法.构造方法也可以通过关键字new创建对象. 2.结构中的字段不能赋初始值. 3.无参数的构造函数无论如何C#编译器都会自动生成,所以不能为结构定义一个无参构造函数. 4.在构造函数中,必须给结构体的所有字段赋值. 5.在构造函数中,为属性赋值,不认为是对字段赋值,因为属性不一定是去操作字段. 6.结构是值类型,在传递结构变量的时候,会将结构对象里的每一个字段复制一份拷贝到新的结构变量的字段中. 7.不能定义自动

C#中结构(struct)的部分初始化和完全初始化

假设有这样一个值类型struct. public struct Size { public int Length; public int Width; public int Area() { return Length*Width; } } □ 客户端,给所有struct字段初始化后调用方法 class Program { static void Main(string[] args) { Size size; size.Length = 10; size.Width = 5; Console.

C语言,结构体(struct)的详细用法

结构(struct)      结构是由基本数据类型构成的.并用一个标识符来命名的各种变量的组合.   结构中可以使用不同的数据类型.       1. 结构说明和结构变量定义       在Turbo C中, 结构也是一种数据类型, 可以使用结构变量, 因此,  象其它   类型的变量一样, 在使用结构变量时要先对其定义.       定义结构变量的一般格式为:        struct 结构名        {             类型  变量名;             类型  变量

【转】结构体struct相关知识

第一篇:typedef struct与struct的区别 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等). 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明. 至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述. 2. typedef & 结构的问题 当用下面的代码定义一个结构时,编译器