美文网首页从零开始学C#
从零开始学C#--被施了魔法的变量

从零开始学C#--被施了魔法的变量

作者: Arabid | 来源:发表于2021-07-27 07:02 被阅读0次

本篇属于:从零开始学C# | 基础篇 | 02

数据类型

值类型
值类型是由System.ValueType类型派生的类型,存储在栈中。
值类型直接由变量存储数据,最常见与基本的值类型有:

关键字 类型 备注
short 短整数型 表示更小的数 省内存
ushort 正短整数型 相比short而言 不能存储负号
int 整数型 不能存储小数
uint 正整数型 相比int而言 不能存储负号
long 长整数型 可以表示更大的数
ulong 正长整数型 相比long而言 不能存储负号
float 单精度小数型 可以存储小数
double 双精度小数型 表示的精度比float宽 但是占用内存更多
decimal 小数型 能表示128 位精确的十进制值
char 字符型 表示一个字符
byte 字节型 8位无符号整数
sbyte 符号字节型 8位有符号整数
bool 布尔型 存储真或假
string 字符串 存储一句话

声明变量:

数据类型 变量名 = 值; //值类型

值类型的强制指定
如果不做任何设置,包含小数点的数值都被当做double来处理,所以需要强制指定。
例如:

float myFloat = 3.12f;

值类型的显式与隐式转换
有时候,我们需要对变量进行强制转换。
隐式转换即编译器可以进行自动转换的情况,比如

int i = 1;
int j = 2;
long k = i + j;

虽然long与int不属于同一种变量,但编译器也不会有什么意见,反正加起来就行,但如果这样:

int i = 1;
string j = "2";
int k = i + j;

好家伙啊,同一个数去加上一个字是什么意思?编译器当场抛出一个错误并给你一个大嘴巴子。那遇到这样的情况该怎么办呢?

让我们认识一座叫做System.Convert的大楼,这里面的人个个膀大腰粗,使用Visual输入Convert.就会出现里面的方法,比如ToInt32(转换为int)之类的,修改代码为:

int i = 1;
string j = "2";
int k = i + Convert.ToInt32(j);

但是如果你这么做:

int uError = Convert.ToInt32("你好")

还是会报错,你给我说说,你好转换成数之后是几???


引用类型
引用类型是构建C#应用程序的主要对象类型数据,存储在堆中,被弹性运用于对象的访问。


枚举类型
枚举类型是一种"游于三界之外,荡出轮回当中。"的特殊类型,它用于声明一组具有相似性质的常量。
例如,在Program类中,输入如下代码:

enum color{
    Red = 1, 
    Blue = 2,
    Green = 3
}

public static void Main(string[] args){
    //下面的暂且不需要理解
    Random rd = new Random();
    int randInt = rd.Next(1,4);
    switch (randInt){
        case color.Red:Console.WriteLine("红色");brake;
        case color.Blue:Console.WriteLine("蓝色");brake;
        case color.Green:Console.WriteLine("绿色");brake;
    }
    Console.ReadKey();
}

会随机输出一种颜色。


拆箱与装箱
将值类型转换为引用类型的过程叫做装箱
将引用类型显式转换为值类型的过程叫做拆箱。
请尽量避免拆箱与装箱。


Object
Object 类是 C# 语言中最原始、最重要的类,是所有类的“祖先”,每个 C# 类都是它的子类,它实现了每个类都必须具有的基本方法。

这里指的“所有类”,即不管是 C# 系统所提供的标准类,还是用户自行編写的类,都是从Object类直接或间接继承而来,它是类层次结构中的顶级类,即 C# 树型类层次结构的“根”。

Object 类中的属性和方法可以被用到任何类。

当編程者定义一个类时没有使用关键字 Extends 指明它的父类,则編译器认为该类从 Object 类继承而来。

但 Object 类的方法所实现的功能很有限,都是由编程者在自行设计的 class 类型的类体内编写与原型完全相同的方法来覆盖它们,以实现用户所要求的有用功能。

在 Object 类中提供了 4 个常用的方法,即 Equals、GetHashCode、GetType 以及 ToString 方法。

我们将在接下来的几节中分别为大家讲解这四种常用方法。

既然任何一个类都继承了 Object 类,这 4 个方法也可以被任何类使用或重写。


常量
控制不变的量叫做常量,在变量生命之前加上一个const关键字叫做常量,常量永远也不会允许被修改。
例如:

const a = 1;

相关文章

  • 从零开始学C#--被施了魔法的变量

    本篇属于:从零开始学C# | 基础篇 | 02 数据类型 值类型值类型是由System.ValueType类型派生...

  • 20句一眼就爱上的文案,甜的腻,苦的痛

    有些句子,被施了魔法 ...

  • 被施了魔法的年代

    今晚续昨天的故事(看似不完美的人生) 即使今天这篇文章我是在外面一个小小的广场上写完的。哈哈哈哈!废话不多说了,进...

  • 被施了魔法的跟头

    妈妈在后面追 娃娃在前面跑 他叫着 最想来个筋斗云 飞个十万八千里 来不及了 翻个跟头算了 哇!天哪 别动 妈妈便...

  • 被施了魔法的年代

    在80年代初90年代末的时间段里,城市也不怎么富有,贫困村庄处处可见。在那个年代如果谁家能有一万块钱的话,那真是个...

  • 你被什么施了魔法

    我说你是才女 满腹经纶无以伦比 出口成章字字珠玑句句戳心 你说你是仙女 逃脱尘世不食人间烟火 徜徉在文字的海洋不知...

  • 被施了魔法的旋转木马

    木马的银色的鬃毛一缕缕的,在风中飘起来,在月光下,如流水般美丽。 爸爸跟妈妈又在吵架了,“你们总是这样,吵吵吵,烦...

  • 被口琴施了魔法的少女~

    十岁那年,不知因何缘故,莫名的就喜爱上了能吹奏出美妙歌曲的口琴。 跑到商店文具部的柜台前,来回穿梭寻觅,终于在柜台...

  • 被施了魔法的酸阳桃

    野瓜藤藤自然魔法团-10(27/10/2018) 大自然是最伟大的魔法师,万事万物生在其中、长在其中,遵循这自然的...

  • 被施了魔法的星期三

    以前的时候很喜欢星期三,是因为星期三过完就可以周末休息了,是因为不太愿意上学。 现在的时候很喜欢星期三,是因为星期...

网友评论

    本文标题:从零开始学C#--被施了魔法的变量

    本文链接:https://www.haomeiwen.com/subject/bfmnmltx.html