摘要

  其他的数据类型:常量、枚举(enum)、结构(struct)、数组
一、常量
  语法:const 类型 变量名 = 变量值
    常量称之为值不可变的变量!
    在定义的地方赋值,其他的地方不能赋值。
    常量变量名一般大写

二、枚举
  让我们定义一种枚举类型并且在定义这种类型时我们要指定这个类型的所有值
  语法:
    enum 枚举名称
    {
      值1,
      值2,
      值3,
      …
    }
  例:
    enum Gender
    {
      male,
      famale
    }
  PS:枚举的定义一般和类定义在同一个级别,在同一个命名空间下的所有类就都可以使用这个枚举了(方法和类中也可以定义)

  枚举的作用:
    1.限制用户不能随意赋值,只能在定义枚举时列举的值中选择
    2.不需要死记每一个值是什么,只需要选择相应的值
  注:枚举类型ToString(),直接是枚举值样子
    默认情况,枚举值可以转换成int类型,枚举值是从0开始的的整数

  字符串转枚举:
    (枚举名称)Enum.Parse(typeof(枚举名称),"待转字符串");

三、结构(一种数据类型,枚举也是一种数据类型)

  1.结构

    //定义了一个名称叫Person的结构
    public struct Person
    {
      //这个结构的成员
      public string name;
      public string sex;
      public int age;
    }

  2.语法:
    访问修饰符 struct 结构名
    {
      //定义结构成员
    }
  3.使用结构:
    声明好一个变量,通过 变量名.成员名 来访问结构的成员
    //声明一个Person结构
    Person personZhang;
    personZhang.name = "张";

    Person personLi = new Person();
    personLi.name = "李";

四、计算机存储单位
  计算机能处理的最小单位是Byte(B),表示一个字节
  1Byte(B)(字节) = 8bit(b)(位)
  1KB = 1024Byte(B)
  1M = 1024KB
  1GB = 1024M

  bps 是网络带宽单位(bit per second)
    举例平时的宽带10Mb(注意是小写的b),所以下载速度理论上最大值为10/8 MB/s

五、数组
  解释:可以帮我们一次声明多个同类型的变量。这些变量在内存中是连续存储的。
  语法:数据类型[] 数组名 = new 数据类型[数组长度];
  例:int[] score = new int[5];
    上面是例子就是,声明了一个长度为5的int数组。

  数组声明并直接赋值的方式:
    int[] numbers = {1,2,5};
    上面声明了一个长度为3的int数组,并且给数组每个元素赋了初始值。

  还可以为:
    int[] numbers = new int[3]{1,2,5};
    int[] numbers = new int[]{1,2,5};
  不可以是:int[] numbers = new int[5]{1,2,5};

  注:数值类型的默认值为0
    字符类型的默认值为null
    时间类型的初始值为0001/01/01

C#基础知识总结(五)的更多相关文章

  1. IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列

    1.引言 消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一. 消息从发送者到接收者的典型传递方式有两种: 1)一种我 ...

  2. Python基础知识(五)

    # -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...

  3. 菜鸟脱壳之脱壳的基础知识(五)——利用内存断点寻找OEP

    经过第一节的基础知识,我们都知道了,加壳程序首先解把原来压缩的代码解压,然后放到所对应的区块中,当外壳程序执行完毕后,跳回到OEP执行,我们都知道,OEP是放在代码段中,也就是当外壳程序处理完毕后,跳 ...

  4. Java JDBC的基础知识(五)

    本文主要记录JDBC基础知识之后的部分内容.另外,我看到<Java核心基础2>中第四章是主要介绍数据库编程的.里面有一些说明和应用特别灵活,有些部分也太容易理解,建议大家看一下.这篇是依然 ...

  5. Android学习之基础知识十五 — 最佳UI体验(Material Design实战)

    一.前言 长久以来,大多数人都认为Android系统的UI并不美观,至少没有iOS系统的美观.以至于很多IT公司在进行应用界面设计的时候,为了保证双平台的统一性,强制要求Android端的界面风格必须 ...

  6. web前端基础知识-(五)jQuery

    通过之前的学习我们已经了解了html.css.javascript的相关知识:本次我们就共同学习进阶知识:jQuery~ 一.什么是jQuery? jQuery其实就是一个轻量级的javascript ...

  7. java基础知识(五)java类

    类是java的核心和本质,是java语言的基础. 一.java中的类 1.类class 一个类可以包含局部变量.实例变量.类变量(静态变量) 一个类至少有一个构造方法,如果没有,系统会默认给出一个无参 ...

  8. EF基础知识小记五(一对多、多对多处理)

    本文主要讲EF一对多关系和多对多关系的建立 一.模型设计器 1.一对多关系 右键设计器新增关联 导航属性和外键属性可修改 2.多对多关系 右键设计器新增关联 模型设计完毕之后,根据右键设计器根据模型生 ...

  9. java反射基础知识(五)反射应用实践

    详解Java反射各种应用   Java除了给我们提供在编译期得到类的各种信息之外,还通过反射让我们可以在运行期间得到类的各种信息.通过反射获取类的信息,得到类的信息之后,就可以获取以下相关内容: Cl ...

随机推荐

  1. OC中NSString的使用、字符串的使用

    字符串作为OC语言的基本对象类型,被我们在各种地方广泛使用,因此熟悉掌握字符串的属性和方法,是OC必不可少的基础之一. 字符串分为可变字符串(NSMutableString)和不可变字符串(NSStr ...

  2. python基础自学 第一天

    python的概述 python的创始人:吉多·范罗苏姆 1991年,第一个python解释器诞生,用C语言实现,并能调用C语音的库文件 解释器(解释型语言和编 译型语言的区别) 把其他语言翻译成计算 ...

  3. 解决nginx下connect() to 127.0.0.1:3000 failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: 错误信息

    尝试搭建nginx负载均衡,做域名转发时报如上错误,困扰了好长时间还好没放弃,还好百度找到解决办法: 是SeLinux导致: 1.执行下面的命令 setsebool -P httpd_can_netw ...

  4. Python之旅Day12 HTML与CSS

    前端CSS与HTML部分 <a href="http://www.baidu.com" target="_Blank">百度</a>_B ...

  5. 微信 SQLite 数据库修复实践

    1.前言 众所周知,微信在后台服务器不保存聊天记录,微信在移动客户端所有的聊天记录都存储在一个 SQLite 数据库中,一旦这个数据库损坏,将会丢失用户多年的聊天记录.而我们监控到现网的损坏率是0.0 ...

  6. Azure Sphere–“Object reference not set to an instance of an object” 解决办法

    在开发Azure Sphere应用时,如果出现项目无法编译,出现“Object reference not set to an instance of an object”时,必须从下面两个方面进行检 ...

  7. python 字典详细使用

    1. 字典 字典是无序.可变序列. 定义字典时,每个元素的键和值用冒号分隔,元素之间用逗号分隔,所有的元素放在一对大括号“{}”中. 字典中的键可以为任意不可变数据,比如整数.实数.复数.字符串.元组 ...

  8. C/C++中宏定义#pragma once与 #ifndef的区别

    为了避免同一个文件被include多次,我们可以通过以下两种方式来进行宏定义: 1. #ifndef方式2. #pragma once方式 在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两 ...

  9. Axure安装、破解、汉化全套

    最近公司准备使用敏捷开发流程,然后刚好需要Axure这个软件,就去找了些资源分享给大家,希望对大家有所帮助: 全套安装,破解,汉化下载地址: 链接: https://pan.baidu.com/s/1 ...

  10. base64之js压缩图片

    在日常的一些项目中会有上传图片之类的接口,如果图片过大了再上传的时候是非常的耗时以及占用资源,在这里就给大家分享一下如何在js中把大的图片压缩成小的图片,我这里的功能是用户点击按钮调用相机或者选择文件 ...