C#——数据与变量

本片博客主要是记录一下C#和C++中语法的一些区别,或者本人认为重要的地方,相同的地方不再做笔记进行记录。

目录

一、声明变量声明

[1.2 语法如下](#1.2 语法如下)

[1.2 案例](#1.2 案例)

二、枚举类型

[2.1 语法如下:](#2.1 语法如下:)

[2.2 案例](#2.2 案例)

三、结构(C++为结构体)

[3.1 语法如下:](#3.1 语法如下:)

[3.2 案例](#3.2 案例)

四、隐式类型转换

五、显式类型转换

[5.1 类型转化三种方式:](#5.1 类型转化三种方式:)

[5.2 案例](#5.2 案例)

[六、Convert 类](#六、Convert 类)


一、声明变量声明

变量的作用是为了获得内存的使用空间,之后才能存储设置的数据或运算后的数据。

1.2 语法如下

数据类型 变量名称;

一个变量只能存放一份数据,存放的数据值为"变量值"。声明变量的同时可以使用"="(等号运算符,即赋值符号)给变量赋初值。例一语法如下:

cs 复制代码
int number=25;
float result= 356.78F;(c++中不需要F,不过我试验了一下C#有提示)

给变量赋值时,若是浮点数 foat的值,则要在数值后面加上后置字符f或F

例二:声明变量的合法语句。

cs 复制代码
float numl,num2;//变量 num1 和 num2 都声明为 float 类型
num1 = num2 = 25.235F;//给变量 num1 和 num2 赋予相同的值

1.2 案例

二、枚举类型

枚举数据类型(Enumeration)提供相关整数的组合,只能以byte、short、int和 long 为数据类型。定义的枚举成员需将常数值初始化。

2.1 语法如下:

cs 复制代码
enum EnumerationName [:整数类型]
{
    成员名称1【=起始值]
    成员名称2【=起始值]
    。。。。。。
}

声明枚举常数值,必须以enum 关键字为开头。

EnumerationName:枚举类型名称。命名规则采用PascalCasing,也就是第一个英文字母要大写。

枚举的数据类型只能以整数声明,默认数据类型是int。
枚举成员名称后,可指定常数值。若未指定,则默认常数值从0开始

通常在命名空间下定义枚举类型,便于命名空间的存取。枚举类型以"{"左大括号开始,以"}"右大括号结束,枚举成员定义于大括号括起来的区块中。

例一:

enum Season {spring,summer,autumn,winter};

表示枚举成员 spring 的值从0开始,按序递增,所以summer 的值是 1,winter 的值是 3.

例二:将东、西、南、北以枚举类型定义为常数值。

enum Location :byte

{east =1l,west =12,south=13,north=14};

将东、西、南、北以枚举类型来定义,并指定它的值类型为 byte。

定义了枚举类型的成员之后,直接使用"枚举名称.成员"来调用某个枚举成员。

Console.writeLine("Location.east");//输出 east

Console. writeLine($"east={(byte)Location.east}");//输出 11

使用己定义的枚举来声明变量,相关语法如下:

EnumerationName 变量名称;

变量名称= EnumerationName.枚举成员;

在上述例子中,声明了 Location 的枚举常数之后,我们就可以直接使用枚举成员或变量名来存取枚举类型的成员了。

Location site; //声明枚举类型的变量

site =Location.easti //存取枚举类型的变量

Location site =Location.east; //将两行语句合并成一行语句

2.2 案例

三、结构(C++为结构体)

在存储数据时,有时会碰到数据由不同的数据类型组成的情况。例如,学生注册时要有姓名、入学日期、缴纳费用等。以"用户自定义类型"(User Defined Type)来看,"结构"(Structure)可符合上述需求,即组合不同类型的数据项,

3.1 语法如下:

cs 复制代码
[AccessModifier]struct 结构名称
{
    数据类型 成员名称1;
    数据类型 成员名称2;
}

AccessModifier 是存取权限修饰词,设置结构的存取范围,包含public、private 等.

定义结构时,必须以几来表示结构的开始和结束。

"结构名称"的命名规则采用 PascalCasing,也就是第一个英文字母要大写.

每一个结构成员可以根据需求定义不同的数据类型。

结构类型是一种"复合数据类型"。。要先创建一个结构变量才能使用此结构类型的成员语法如下:

结构类型 结构变量名称;

结构变量名称.结构成员

要存取结构成员,同样要使用"."(句点)运算符。

3.2 案例

四、隐式类型转换

"数据类型转换"(Type Conversion)就是将 A 数据类型转换为B数据类型。什么情况下会需要类型转换呢?例如,运算的数据同时拥有整数和浮点数。还有一种常见的情况,例如范例"Ex0306"中的语句:

pt1 =(int)City.Ningbo;

将枚举常数用转换运算符()转为 int 类型。

五、显式类型转换

系统的"隐式类型转换"能减轻编写程序代码的负担,相对地,有可能会让数据的类型不明确,或者转换成错误的数据类型。为了降低程序的错误,有必要对数据进行明确的"转型'(Cast)。转型是明确地告知编译器要转换的类型。若是"缩小转换",则有可能造成数据遗失。

5.1 类型转化三种方式:

使用转换运算符()(括号)。
使用 Parse()方法。
用 Convert 类提供的方法进行转换

5.1.1用转换运算符()

转换类型时,要在变量或表达式前用转换运算符"0"指明要转换的类型,语法如下:

变量=(要转换类型)变量或表达式;

这种显式类型转换的方法在前面的范例中都使用过。例如:

pt2 =(int)City.Shaoxing;

用转换运算符()将获取的数据转换为 int 类型.

5.1.2 Parse()方法

类型转换的第二种方法是指定要转换的数据类型。使用Parse()方法的语法如下:

数值变量=数据类型.Parse(字符串);

用 Parse()方法转换类型时,以C#程序设计语言的数据类型为主

在控制台应用程序中,用 ReadLine()方法读入的数据是字符串,要通过 Parse()方法转换成指定的值类型才能进行后续的运算,语句如下:
area = float.Parse(Console.ReadLine());

Console在于是否引用了命名空间,using System。

用 Parse()方法转换 foat 类型,再赋值给 area 变量。

5.2 案例

六、Convert 类

使用 Convert 类提供的方法将表达式转换为兼容的类型。以.NET Framework 的数据类型为主,表 3-9是与字符串部分有关的方法。

Convert 类还可以配合其他类型进行数据格式的转换。下面的范例项目中以 ToDateTimeO)方法把读取的字符串转为日期格式。ToDateTime0方法的语法如下:

DateTime对象=Convert.ToDateTime(字符串);

DateTime 结构类型用来处理日期和时间。

相关推荐
yu20241123 分钟前
【【异世界历险之数据结构世界(二叉树)】】
数据结构·算法
东方.既白5 小时前
C#中发布订阅的阻塞非阻塞
c#
张人玉5 小时前
c#如何将不同类型的数据存储到一起
c#
小李飞飞砖6 小时前
JVM 锁自动升级机制详解
开发语言·jvm·c#
✿ ༺ ོIT技术༻7 小时前
剑指offer第2版:链表系列
数据结构·算法·链表
CodeCraft Studio7 小时前
文档处理控件Aspose.Words教程:从 C# 中的 Word 文档中提取页面
c#·word·aspose·aspose.word·word页面提取
yiridancan7 小时前
终极剖析HashMap:数据结构、哈希冲突与解决方案全解
java·数据结构·算法·哈希算法
唐青枫7 小时前
C#.NET 集合框架详解
c#·.net
点云SLAM9 小时前
二叉树算法详解和C++代码示例
数据结构·c++·算法·红黑树·二叉树算法