当前位置: 首页 > backend >正文

C#——数据与变量

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

目录

一、声明变量声明

1.2 语法如下

1.2 案例

二、枚举类型        

2.1 语法如下:

2.2 案例

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

3.1 语法如下:

3.2 案例

四、隐式类型转换

五、显式类型转换

5.1 类型转化三种方式:

5.2 案例

六、Convert 类


一、声明变量声明

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

1.2 语法如下

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

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

        给变量赋值时,若是浮点数 foat的值,则要在数值后面加上后置字符f或F
        例二:声明变量的合法语句。

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

1.2 案例

二、枚举类型        

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

2.1 语法如下:

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 语法如下:

[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 结构类型用来处理日期和时间。

http://www.xdnf.cn/news/15439.html

相关文章:

  • 力扣454.四数相加Ⅱ
  • ELK、Loki、Kafka 三种日志告警联动方案全解析(附实战 Demo)
  • AI香烟检测实战:YOLO11模型训练全过程解析
  • 【EM算法】三硬币模型
  • 机器学习/深度学习训练day1
  • 人工智能正逐步商品化,而“理解力”才是开发者的真正超能力
  • 【第一章编辑器开发基础第二节编辑器布局_1水平与垂直布局(1/4)】
  • Sharding-Sphere学习专题(二)案例和分片策略
  • 动态规划题解——乘积最大子数组【LeetCode】
  • 暑期自学嵌入式——Day02(C语言阶段)
  • 【论文阅读】Masked Autoencoders Are Effective Tokenizers for Diffusion Models
  • 内容管理系统指南:企业内容运营的核心引擎
  • Kotlin Map映射转换
  • 论文阅读:WildGS-SLAM:Monocular Gaussian Splatting SLAM in Dynamic Environments
  • 院级医疗AI管理流程—基于数据共享、算法开发与工具链治理的系统化框架
  • ubuntu之坑(十八)——XML相关
  • CSS基础功能介绍和使用
  • Spring Boot项目结构解析:构建高效、清晰的代码框架
  • 关于僵尸进程
  • 进程、线程、协程
  • AI革命,分布式存储也在革命,全闪化拐点已至
  • MFC扩展库BCGControlBar Pro v36.2新版亮点:可视化设计器升级
  • 深入解析Paimon的RowKind数据变更机制 和 KeyValue存储
  • vue中使用西瓜播放器xgplayer (封装)+xgplayer-hls 播放.m3u8格式视频
  • 【王树森推荐系统】物品冷启05:流量调控
  • Java-72 深入浅出 RPC Dubbo 上手 生产者模块详解
  • 清除 Android 手机 SIM 卡数据的4 种简单方法
  • 网络准入控制系统的作用解析,2025年保障企业入网安全第一道防线
  • OpenVela之开发自测试框架cmocka
  • 【算法训练营Day12】二叉树part2