C#编程利器之二:结构与枚举(Structure and enumeration)

在上一篇文章中,介绍了类如何封装程序中的对象.而实际中,出了类可以封装对象外,结构和枚举也可 以封装一些对象,本文将着重介绍结构和枚举这两个知识点的相关应用.

一. 结构(Structure)

什么是结构(Structure)?在C#里,Struct是一种值类型,通常用来封装小型相关变量组,和类有很大的相 似度.同类一样,它不但可以包含不同数据类型数据。还可以包含复合类型(数组,结构,DateTime等等) 除了以名字/值方式出现还可以有属性和方法,所以说结构是一种强大的复合型数据。

1. 使用类封装对象的属性

以图书来作为示例来分析,图书包括图书编号,图书名称,图书作者以及出售价格等.我们平时所通常都 是使用类来封装这些信息,如下:

1/**//// <summary>
2/// 图书对象
3/// </summary>
4public class Books
5{
6  public int bookId;
7  public string bookName;
8  public string bookAuthor;
9  public double bookPrice;
10}

2. 使用结构封装对象的属性

其实出了使用类来封装,我们还可以使用结构来封装,实现如下:

1/**//// <summary>
2/// 使用结构封装图书信息
3/// </summary>
4public struct Book
5{
6  public int bookId;
7  public string bookName;
8  public string bookAuthor;
9  public double bookPrice;
10}

时间: 2024-12-04 00:59:51

C#编程利器之二:结构与枚举(Structure and enumeration)的相关文章

安卓APP破解利器之FRIDA

本文讲的是安卓APP破解利器之FRIDA,在我去年参加RadareCon大会的时候,我了解到了一个动态的二进制插桩框架--Frida.起初我觉得它似乎只有一丁点趣味,后来经过实践才发现它原来是如此的有趣.记得游戏里的上帝模式吗?这就是Frida操作本机应用程序的感觉.这是一篇关于专门使用Frida把玩Android应用程序的博客文章.而且,因为我们是在阐述这一点,所以我们也将在这篇文章的第二部分中进行一点Android APP的破解实战. 什么是动态二进制插桩? 动态二进制插桩(DBI)意味着将

096_《Delphi5高级编程丛书之二:GUI编程》

<Delphi5高级编程丛书之二:GUI编程> Delphi 教程 系列书籍 (096) <Delphi5高级编程丛书之二:GUI编程> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Part1 Part2 Part3 Part4 作者: 徐新华 出版社: 人民邮电出版社 书号: 出版日期:2000年4月 开本: 787*1092 1/16 页码: 496 版次: 2000年4月第一版第一次印刷 内容简介 本书全面深入地介绍了如何运用 Delphi 5进

.NET 4 并行(多核)编程系列之二 从Task开始

原文:.NET 4 并行(多核)编程系列之二 从Task开始 .NET 4 并行(多核)编程系列之二 从Task开始          前言:我们一步步的从简单的开始讲述,还是沿用我一直的方式:慢慢演化,步步为营.     本篇文章的议题如下:    1.Task基础介绍    2.Task的创建     3.获取Task的执行结果 4. 补充细节   系列文章链接: .NET 4 并行(多核)编程系列之一入门介绍 .NET 4 并行(多核)编程系列之二 从Task开始  .NET 4 并行(多

Android图片加载利器之Picasso基本用法

今天开始我们来学习一下Picasso,计划包括以下几方面的内容: 图片加载利器之Picasso进阶 图片加载利器之Picasso源码解析 目前市场上比较流行的图片加载框架主要有UniversalImageLoader,Picasso,Glide,Fresco. 下面简单介绍一下这几个框架: UniversalImageLoader:这个可以说是非常非常经典的一个了,相信每个app的开发人员都使用过,只可惜作者已经停止该项目的维护了,所以不太推荐使用. Picasso:是Square公司出品的图片

c++-C++中RFID编程问题,二次开发问题

问题描述 C++中RFID编程问题,二次开发问题 大家好,我想问下咱们的设备可不可以实现这种功能,经过二次开发,使用net方法,让设备主动连接我PC的IP地址(15.23.50.8),不进行这种方法ConnectReader(char *IP, UINT nPort) 编程手写设备IP.因为如果几百台设备的话,都要在开发中重写IP有些麻烦.

C#编程,使用二维数组,可不可以不用指针

问题描述 C#编程,使用二维数组,可不可以不用指针 题目描述:输入30个数到一个5行6列的数组,经排序后该数组各元素值按列从小到大排列,并显示该2维数组. 解决方案 直接使用数组,不用指针,这个没有什么问题啊! 解决方案二: 本身c#就没有指针的概念,直接用数组对象就行了

QtDBus编程详解(二)

                                                           QtDBus编程详解(二)   我在上一篇博客QtDBus编程详解(一)中主要讲述了与QtDBus以及DBus相关的基本概念,这一章节,我将重点讲述关于QtDBus通信.   QtDBus通信,就必须有服务端和客户端(关键是弄清楚哪一端是server,哪一端是client). 我们先来看看,QtDBus通信,server和client需要做些什么工作.   server: 1.申

艾伟_转载:基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计

本系列文章导航 基于.NET平台的Windows编程实战(一)--前言 基于.NET平台的Windows编程实战(二)-- 需求分析与数据库设计 基于.NET平台的Windows编程实战(四)-- 数据库操作类的编写 基于.NET平台的Windows编程实战(五)-- 问卷管理功能的实现 基于.NET平台的Windows编程实战(六)-- 题目管理功能的实现 大家都知道一个系统的成败与否关键在于其所做的需求分析是否到位,数据库的设计是否合理.因为本系列文章的目的是在于提高大家对.NET Wind

Shell编程学习:分支结构和循环结构

一.if结构 1.单分支结构 if condition then statement1 statement2 ... fi 2.双分支结构 if condition then statement1 statement2 ... else statement3 statement4 fi 3.多分支结构 if condition then statement elif condition2 then statement2 fi 二:case结构 case condition in pattern1