C#变量拓展

本文详细介绍了C#中的变量,包括常量、枚举、结构、数组和类型转换。讲解了变量的声明、初始化、隐式和显式类型转换,以及枚举和结构的定义与使用。此外,还探讨了数组的初始化和多维数组的使用,以及字符串操作的基本方法。最后,提供了几个关于类型转换和复杂类型运用的编程练习。
摘要由CSDN通过智能技术生成

简介

变量涉及到的简单类型,如何从一种类型转换为另一种类型,是使用隐式转换,还是显示转换?除此之外,会更深一步引出复杂变量,像枚举、数组、结构等;将会对字符串类型介绍几个常用的方法,比如字符串的长度获取及长度增删、字符串的大小写等。

相关知识

一、C#数据类型
C#与大多数面向对象语言数据类型一样,分为值类型与引用类型两种,值类型包括内置数据尖型如(int uu 构体)、枚举(emun),引用类型包括指针类型、接口类型和自描述类型等。指针类型仅用于非安全代码中,在这里不讨论。

1、预定义的值类型
内置的值类型表示基本数据类型,例如整型和浮点类型、字符类型和 bool类型。
(1)整数类型
整型数只能存放整数,C#提供了9种整型类型,其取值范围如表2-2所示。
在这里插入图片描述
(2)实数类型
实数型也称为浮点类型,一般用来表示一个由确定值的小数,浮点数分为两种:单精度(float)和双精度(double),其差别在于取值范围和精度不同。其取值范围如表2-3所示。
在这里插入图片描述
(3)布尔(bool)类型
取值只能是ture或者false,它在计算机中占4个字节,即32位存储空。
(4)字符类型
C#中采用Unicode字符集来表示字符类型。尽管8位足够编码英语中的每个字符和数字0~9了,但它们不够编码更大的符号系统中的每个字符(例如中文)。为了面向全世界,计算机行业正在从8位字符集转向16位的Unicode模式,ASCII编码是Unicode的一个子集。

2、预定义的引用类型
C#支持两个预定义的引用类型,即object和string。
(1)object类型
许多编程语言和类结构都提供了根类型,层次结构中的其它对象都从它派生而来。C#和.NET也不例外。在C#中,object类型就是最终的父类型,所有内在和用户定义的类型都从它派生而来。这是C#的一个重要特性。所有的类型都隐含地最终派生于System.0bject类。

(2) string 类型
C#还定义了一个基本的类string,专门用于对字符串的操作。这个类也是在命名空间System中定义的,是类System.String的别名。字符串应用非常广泛,在string类的定义中封装了许多方法。

3、隐式类型
从Visual C# 3.0开始,在方法范围中声明的变量可以具有隐式类型 var。隐式类型的本地变量是强类型变量,但由编译器确定类型。下面的两个i声明在功能上是等效的:

var i = 10;//隐式类型
int i = 10;//显式类型

下列限制适用于隐式类型的变量声明:
(l)只有在同一语句中声明和初始化局部变量时,才能使用var;
不能将该变量初始化为null、方法组或匿名函数。
(2)不能将var 用于类范围的域。
(3)由 var声明的变量不能用在初始化表达式中。如表达式:

int i = (i = 20) ;

是正确的,但下面表达式将产生编译错误:

var i = (i = 20) ;

(4)不能在同一语句中初始化多个隐式类型的变量。
(5)如果范围中有一个名为var的类型,则var关键字将解析为该类型名称,而不作为隐式类型局部变量声明的一部分进行处理。

二、常量

1、常量的定义
在编译时其值能够确定,并且程序运行过程中值不发生变化的量。定义常量类型有int,bool,char,double,sting 等。

语法:

const类型名常量名=常量表达式;例子: const string s="some text";

常量初始化:常量在定义时必须被初始化。通过在声明和初始化变量时,在前面加上const关键字,可以把此变量指定为常量。

const int i=10;
const int j=i+2;

只能把局部变量和字段声明为常量

2、常量的特征如下:
(1)常量必须在声明时初始化。指定了其值后,就不能再修改了
(2)常量的值必须能在编译时用于计算。因此,不能用从一个变量中提取的值来初始化常量,如果需要这么做,应使用只读字段
(3)常量总是静态的,但不允许在常量声明中使用static修饰符

三、变量

变量代表数据的实际存储位置,变量表示数值或字符串值或类的对象,它所能存储的数值由它本身的类型决定。在变量被赋值以前,变量自身的类型必须被明确地声明。变量存储的值可能会发生更改,但名称保持不变。

变量声明的语法格式

类型变量名[=初值][变量名=[初值]...];

说明:
(1)变量名必须是字母或下划线开头不能有特殊符号。
(2)在声明变量的同时可以给变量赋初值。例如:

int i=2;

(3)如果在一个语句中声明和初始化了多个变量,那么所有的变量都具有相同的数据类型。例如:

int x,y=10;//定义了两个整型变量x,y,其中y的初始值为10;

(4)要声明类型不同的变量,需要使用单独的语句。在多个变量的声明中,不能指定不同的数据类型:

int x = 10;
bool y = true;
int x = 10bool y = true;//这是不符合语法规定的!

(5)C#语言共有7种变量类型:静态变量,实例变量,数组元素,值参数,引用参数,输出参数和局部变量等。

四、枚举

枚举有些类似布尔类型,布尔类型只有两个值:true和false,是一个固定的集合。当我们遇见某个需求只需要一个固定集合的值得时候,比如一周的日期,需要注意的是,枚举类型不是声明一个变量,而是声明了一种用户自定义的类型,用户使用枚举定义好的类型,然后再去声明新类型的变量。

声明新类型的变量:

<类型名> <类型变量名>;

赋值:

<类型变量名> = <类型名
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值