static void Main(string[] args)
{
//类型
//结构:值类型
//类:引用类型

//声明的语法:class struct

//在类中,构造函数里,既可以给字段赋值,也可以给属性赋值。构造函数是可以重载的
//但是,在结构的构造函数当中,必须只能给字段赋值。
//在结构的构造函数当中,我们需要给全部的字段赋值,而不能去选择的给字段赋值

//调用:

PersonClass pc = new PersonClass();

//结构是否可以New?
//在栈开辟空间 结构new 调用结构的构造函数
PersonStruct ps = new PersonStruct();
ps.M2();
PersonStruct.M1();
Console.ReadKey();
//结构和类的构造函数:
//相同点:不管是结构还是类,本身都会有一个默认的无参数的构造函数
//不同点:当你在类中写了一个新的构造函数之后,那个默认的无参数的构造函数都被干掉了
//但是,在结构当中,如果你写了一个新的构造函数,那么个默认的无参数的构造函数依然在。
//
//如果我们只是单纯的存储数据的话,我们推荐使用结构。

//如果我们想要使用面向对象的思想来开发程序,我们推荐使用我们的Class

//结构并不具备面向对象的特征

// int
}
}

public class PersonClass
{
//字段、属性、方法、构造函数
}

public struct PersonStruct
{
//字段、属性
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}

private int _age;
public int Age
{
get { return _age; }
set { _age = value; }
}

private char _gender;
public char Gender
{
get { return _gender; }
set { _gender = value; }
}

public static void M1()
{
Console.WriteLine("我是结构中的静态方法");
}
public void M2()
{
Console.WriteLine("我是结构的非静态方法");
}

public PersonStruct(string name, int age, char gender)
{
//this.Name = name;
//this.Age = age;
//this.Gender = gender;

this._name = name;
this._age = age;
this._gender = gender;
}

.net(C#)中结构和类的区别的更多相关文章

  1. .NET中结构和类的区别

    最近在学习Swift语言,看到了枚举这一章,Swift可以支持在枚举中定义方法...于是想到了回顾一下.NET中枚举.结构.类之间区别. 枚举在.NET较为简单,这里就不作比较,只谈谈结构和类. 1. ...

  2. C#中结构与类的区别

    一.类与结构的示例比较: 结构示例: public struct Person { string Name; int height; int weight public bool overWeight ...

  3. C++中结构和类的区别

    首先从从语言角度来看,c语言是一种结构化的语言,便于按照模块化的方式来组织程序,易于程序员的调试和维护,而对于c++来说,我么可以认为它是标准c的超集.实际上所有的c程序也是c++程序.但两者之间还是 ...

  4. C#基础知识 结构与类的区别

    网上看到struct与class之间的区别,都写的很多,当然说的是对的,也很详细.不过我个人不喜欢照本宣科,还是要有自己的理解和认识,方便记忆. (前提:对于值类型与引用类型有一定的认识) 结构最重要 ...

  5. C# 结构与类的区别

    一.定义方式 定义结构: struct PointStruct //默认的访问权限是 public { public int X { get; set; } public int Y { get; s ...

  6. C#:浅析结构与类的区别

    一.      结构:值类型,存储在堆栈中,位于计算机的内存逻辑区域中      类   :引用类型,存储在堆中,位于计算机内存的不同逻辑位置   二.      较小的数据使用结构:      将一 ...

  7. CSS3中结构伪类选择器——root、not、empty、target选择器

    1.root选择器 将样式绑定到页面的根元素中.根元素是指位于文档树中最顶层结构的元素,在HTML页面中就是指包含整个页面的<html>部分. <style type="t ...

  8. C# 结构与类

    结构是一种可以包含数据成员和方法成员的值类型数据结构.为结构分配数据时不需要从托管堆中分配内存,结构类型的变量直接包含了该结构的数据.结构中可以包含构造函数,常量,字段方法,属性,运算符,事件和嵌套类 ...

  9. c#中结构体(struct)和类(class)的区别

    一.类与结构的示例比较: 结构示例: public struct Person { string Name; int height; int weight public bool overWeight ...

随机推荐

  1. C#编译执行过程

    前言 大家好,我是卫斯理(Wesley).喜欢武侠的朋友可能知道小说中也有个卫斯理,他是位冒险家,财力充沛,极富冒险精神,并且有着超强的好奇心,对奇异的事情总有"打破沙锅问到底"的 ...

  2. Struts2 OGNL 字符串自定义转化对象细节

    要使用Struts2的自定义对象转化,需要几个要点: 1.要有继承DefaultTypeConverter的实现类,要重写convertValue,并且参数value转化而来的String是Strin ...

  3. Java 枚举7常见种用法

    DK1.5引入了新的类型--枚举.在 Java 中它虽然算个"小"功能,却给我的开发带来了"大"方便. 用法一:常量 在JDK1.5 之前,我们定义常量都是:  ...

  4. 最全的jQuery知识汇总

    本帖最后由 断天涯大虾 于 2016-12-26 10:22 编辑<ignore_js_op> jQuery是什么? jQuery是javascript编写一个可重用的JavaScript ...

  5. 基于ssh框架开发的购物系统的质量属性

    根据前面的博客,我们已经大致了解了ssh架构开发整体概念:Struts是一个实现了MVC模式的经典的框架:Hibernate是轻量级Java EE应用的持久层解决方案,以面向对象的方式提供了持久化类到 ...

  6. 移动端rem 适配

    在 index.html 中添加如下代码 <script> let html = document.documentElement; window.rem = html.getBoundi ...

  7. android中使用startactivityforresult跳转Activity后需要重写onBackPressed()方法

    在android项目中经常会用startactivityforresult从一个Activity跳转到另一个Activity(这里指Activity_A和Activity_B),你可以从Activit ...

  8. 一、oracle数据库成功安装步骤 (11gR2)

    下载安装包 从Oracle官方网站下载数据库软件安装包:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloa ...

  9. Leetcode: Valid Word Abbreviation

    Given a non-empty string s and an abbreviation abbr, return whether the string matches with the give ...

  10. [总结] I/O输入,输出

    I/O输入,输出第一:先判断到底是输入还是输出,站在程序的立场第二:判断是传递字节,还是字符,决定管道粗细,字节流是最基本的数据输出管道.字符类型管道专门用来传送文本数据.Java流的四大父类:1.字 ...