结构类型:Struct
一、概述:
结构类似于类,但结构为值类型,存储于栈中。
结构不能继承和被继承,但可实现接口。
结构成员访问级别有public,private(默认) ,internal。
1、简单结构
可以将无方法,属性等简单类,声明为结构,提高系统处理效率。
定义结构类型:
struct Pair
{
public int x;
public string y;
}
调用:
Pair p;//只有结构中只存在字段时,new才可以省略。
Pair P1 = new Pair();
p.x = 10;
p.y = "a";
Console.WriteLine(p.y);
2、 带构造函数的结构
结构可以自定义带参数的构造函数,且必须显示初始化所有实例字段。不能显示创建默认构造函数。
void Main()
{
Pair P1 = new Pair(10);
P1.Add(1);
Console.WriteLine(P1.X);
} struct Pair
{
private int x;//实例字段不能在声明时赋值(即不能初始化)
private static Pair orign = new Pair();//静态字段可以在声明时赋值 public Pair(int x)//构造函数
{
this.x = x;
}
public int X //结构可以有属性
{
set { x = value; }
get { return x; }
}
public void Add(int y)//结构也可以有方法
{
x = x + y;
}
}
结构类型:Struct的更多相关文章
- C语言小结之结构类型
C语言小结之结构类型 @刁钻的游戏 (1)枚举型类型enum COLOR {BLACK,RED,BLUE};//声明一种新的数据类型,其值分别为0,1,2但是用BLACK/RED/BLUE代表也可以这 ...
- C语言入门-结构类型
一.声明结构类型 #include <stdio.h> int main(int argc, char const *argv[]) { // 声明结构类型 struct date { i ...
- C# 中的结构类型(struct)
原文 C# 中的结构类型(struct) 简介 有时候,类中只包含极少的数据,因为管理堆而造成的开销显得极不合算.这种情况下,更好的做法是使用结构(struct)类型.由于 struct 是值类型,是 ...
- 结构体struct、联合体union、枚举类型enum
1.c语言中的类型 1)内置类型——char,short,int,float,double: 2)用户自定义类型(UDT)——struct结构体,union联合体,enum枚举类型 2.内存对齐 2. ...
- (转)类(class)和结构(struct)的区别是什么?它们对性能有影响吗?.NET BCL里有哪些是类(结构),为什么它们不是结构(类)?在自定义类型时,您如何选择是类还是结构?
转自:http://blog.csdn.net/lingxyd_0/article/details/8695747 类(class)和结构(struct)的区别是什么?它们对性能有影响吗?.NET B ...
- C# 中的结构类型(struct type)
ylbtech- .NET-Basic:C# 中的结构类型(struct type) C# 中的结构类型(struct type) 1.A,相关概念返回顶部 像类一样,结构(struct)是能够包 ...
- delphi基础篇之数据类型之三:3.结构类型(Struct)
3.结构类型(Struct) 结构类型在内存中存储一组相关的数据项,而不是像简单数据类型那样单一的数值.结构数据类型包括:集合类型.数组类型.记录类型.文件类型.类类型.类引用类型和接口类型等.
- 结构体struct 与 联合union
1.C语言中的结构体 1.1 定义 结构体是由一系列相同或不同类型的变量组成的集合. struct 结构体名{ //struct为关键字,“结构体名”为用户定义的类型标识. ...
- C语言结构体-struct
知识点: 1)结构体的定义. 2)结构体的sizeof. 3) 结构体的指针. 1) 结构体的定义: 在逻辑上有一定关联的多个数据类型做为一整体进行操作的数据结构,它的关键字是struct.下面我将 ...
随机推荐
- rails命令行命令
x.指定端口启动rails项目 ruby script/server webrick -p 3000 ------------------------------------------------- ...
- Prinzipien der Computer Zusammensetzung
1.Die Einfuerung der Computer System 1.1 Computer Zusammensetzung und Computer Architektur Unter Com ...
- Action、View、ActionResult、ViewResult、ContentResult
可以,ASP.NET MVC的view和Controller不是严格的匹配的,一个Action Method可以引用多个view,而一个View也可以被一个Action方法使用如下代码所示: 1 ...
- layer子窗口与父窗口传值
layer作为优秀的jquery框架,可以用作弹出组件.日历.分页等,而且实现简单,只有几十k的大小. 此处给出弹出窗口时子窗口与父窗口的传值.js和css这里不展示引入(以下给出目录结构的图片),仅 ...
- 非法关闭idea后报错,插件无法正常加载解决方法
Problems found loading plugins: Plugin "GlassFish Integration" was not loaded: required pl ...
- HDU 2578(二分查找)
686MS #include <iostream> #include <cstdlib> #include <cstdio> #include <algori ...
- BaseActivity
package com.glandroid.smssender; import android.content.DialogInterface; import android.content.pm.P ...
- 【vue入门】日志demo,增删改查的练习(无vuex版本)
安装 1. 确定电脑已装node和npm 出现版本号则说明电脑已经安装好node和npm2. 创建一个基于webpack的项目 3. 在项目里安装依赖 4. 运行 配置路由为了动态渲染各个页面的组 ...
- 线性表的Java实现--链式存储(单向链表)
单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始. 链式存储结构的线性表将采用一组任意的存储单元存放线性表中的数据元素.由于不需要按顺序存储,链表在 ...
- C语言写控制台互交界面
void show_menu() { //system("clear"); printf("---------------------\n"); printf( ...