C#—02 变量

1.变量

变量(Variables)是用于存储和操作数据的内存位置。变量具有名称和类型,并且可以在程序的不同位置被赋予不同的值。

数据类型 变量名 = 值 ;

在C#中,变量的声明需要指定变量的名称和类型。以下是声明和初始化变量的示例:

using System; //引入命名空间 

namespace _001_开始
{
    class Program
    {
        static void Main(string[] args)
        {
            // 声明一个整数类型的变量
            int age;

            // 声明并初始化一个字符串类型的变量
            string name = "John";

            // 声明多个变量并初始化
            int x = 10, y = 20, z = 30;

            // 声明一个常量
            const double pi = 3.14159;

            //变量可以在声明后进行赋值,也可以在后续的代码中重新赋值。例如:
            int count; // 声明一个整数类型的变量
            count = 5; // 赋值为5
            count = 10; // 重新赋值为10
        }
    }
}

1.1变量命名规则

变量的命名需要遵循一些规则和约定。以下是C#中变量命名的规则:

  1. 变量的名称必须以字母或下划线(_)开头。
  2. 变量的名称可以包含字母、数字和下划线。
  3. 变量的名称区分大小写,例如age和Age是不同的变量。
  4. 变量的名称不能是C#的关键字,例如int、string等。
  5. 变量的名称应该具有描述性,能够清晰地表达变量的用途和含义。
  6. 变量的名称应该使用驼峰命名法(Camel Case),即首字母小写,后续单词的首字母大写,例如myVariable。
  7. 如果变量的作用范围超过一个单词(如类级别的变量),可以使用下划线分隔单词,例如my_variable。
  8. 避免使用单个字母作为变量名称,除非用于临时变量或循环计数器。

1.2变量命名规范

对于变量命名的规范,以下是一些建议和最佳实践:

  1. 使用有意义的名称:变量的名称应该能够清晰地表达变量的用途和含义,避免使用含糊不清或无意义的名称。
  2. 使用驼峰命名法:变量的名称应该使用驼峰命名法,即首字母小写,后续单词的首字母大写。例如:firstName、numberOfStudents。
  3. 避免使用缩写:尽量避免使用缩写,除非缩写是广为接受的行业标准或约定。使用完整的单词可以提高代码的可读性。
  4. 使用具体的名称:使用具体的名称来描述变量的用途,而不是使用泛泛的名称。例如,使用studentName而不是name,使用totalCount而不是count。
  5. 避免使用保留字:避免使用C#的保留字作为变量名称,以免引发语法错误。
  6. 保持一致性:在整个代码库中保持一致的命名风格,以提高代码的可读性和维护性。
  7. 注意命名长度:变量的名称应该足够长以表达其含义,但也不要过长。避免使用过于冗长的名称,以免增加代码的复杂性。
  8. 使用英文命名:尽量使用英文单词来命名变量,以保持代码的一致性和可读性。

总之,良好的变量命名可以提高代码的可读性、可维护性和可理解性。选择有意义的名称,并遵循一致的命名风格,有助于提高代码质量和开发效率。

2.变量的类型

1>值类型(Value Types):直接存储数据

  • 整数类型:包括int、long、short、byte等。
  • 浮点数类型:包括float、double。
  • 布尔类型:bool,表示真或假。
  • 字符类型:char,表示单个字符。
  • 枚举类型:enum,表示一组命名的常数值。
  • 结构体类型:struct,用于自定义的值类型。

2>引用类型(Reference Types):存储实际数据的应用,通过引用找到真正的数据

  • 类类型:class,用于定义对象。
  • 字符串类型:string,用于表示文本。
  • 数组类型:array,用于存储多个相同类型的元素。
  • 接口类型:interface,用于定义一组相关的方法和属性。
  • 委托类型:delegate,用于表示方法的引用。

3>特殊类型(Special Type):使用可选参数和默认参数

  • object:所有其他类型的基类,可以存储任意类型的值。
  • dynamic:在运行时进行类型检查的类型。

2.1 整型

整数类型主要代表没有小数点的整数类型,默认是int类型

2.1.1有符号整型

类型

说明

范围

.NET 类型

sbyte

8位有符号整数

-128~127

System.SByte

short

16位有符号整数

-32768~32767

System. Int16

int

32位有符号整数

-2147483648~2147483647

System.Int32

long

64位有符号整数

-9223372036854775808~9223372036854775807

System.Int64

2.1.2无符号整形

类型

说明

范围

.NET 类型

byte

8位无符号整数

0~255

System.Byte

ushort

16位无符号整数

0~65535

System.UInt16

uint

32位无符号整数

0~4294967295

System.UInt32

ulong

64位无符号整数

0~18446744073709551615

System.UInt64

2.2 浮点型

浮点型表示带有小数的数据,默认是double类型。

类型

说明

大致范围

大小

.NET 类型

float

用于表示单精度浮点数,大约 6-9 位数字

±1.5 x 10−45 至 ±3.4 x 1038

4 个字节

System.Single

double

用于表示双精度浮点数,大约 15-17 位数字

±5.0 × 10−324 到 ±1.7 × 10308

8 个字节

System.Double

decimal

表示高精度十进制数小数,28-29 位

±1.0 x 10-28 至 ±7.9228 x 1028

16 个字节

System.Decimal

注1:有效数字包括整数部分和小数部分。

注2:输出多位小数时默认会显示6位有效数字,需进行额外配置以完整显示全部有效数字。

注3:float类型表示小数时,在数字末尾显式地使用字母f表示单精度,否则编译器会默认将小数视为双精度浮点型(double),再进行类型转换(由double型转换为float).

2.3 字符型

字符型变量可表示单个字符。

类型

范围

大小

注意

.NET 类型

char

U+0000 到 U+FFFF

16 位

单引号表示,比如:‘a’、‘1’、‘,’

System.Char

注1:使用单引号表示字符,且单引号内有且仅有1个字符,不可以是字符串。
注2:使用 (int) ch 查询字符对应的ASCII编码。'a’对应97,'A’对应65。

ASCII码表格:

ASCII值

控制字符

ASCII

字符

ASCII

字符

ASCII

字符

0

NUT

32

(space)

64

@

96

1

SOH

33

!

65

A

97

a

2

STX

34

"

66

B

98

b

3

ETX

35

#

67

C

99

c

4

EOT

36

$

68

D

100

d

5

ENQ

37

%

69

E

101

e

6

ACK

38

&

70

F

102

f

7

BEL

39

,

71

G

103

g

8

BS

40

(

72

H

104

h

9

HT

41

)

73

I

105

i

10

LF

42

*

74

J

106

j

11

VT

43

+

75

K

107

k

12

FF

44

,

76

L

108

l

13

CR

45

-

77

M

109

m

14

SO

46

.

78

N

110

n

15

SI

47

/

79

O

111

o

16

DLE

48

0

80

P

112

p

17

DCI

49

1

81

Q

113

q

18

DC2

50

2

82

R

114

r

19

DC3

51

3

83

S

115

s

20

DC4

52

4

84

T

116

t

21

NAK

53

5

85

U

117

u

22

SYN

54

6

86

V

118

v

23

TB

55

7

87

W

119

w

24

CAN

56

8

88

X

120

x

25

EM

57

9

89

Y

121

y

26

SUB

58

:

90

Z

122

z

27

ESC

59

;

91

[

123

{

28

FS

60

<

92

/

124

|

29

GS

61

=

93

]

125

}

30

RS

62

>

94

^

126

`

31

US

63

?

95

_

127

DEL

ASCII 码的大致组成部分:

(1)非打印控制字符:ASCII 表的 数字0-31 分配给控制字符,用于控制如打印机等外围设备。

(2)打印字符:ASCII 表的 数字32-126 分配给键盘上的字符。

2.4 字符串型

字符串型主要用于存储一组连续字符(char),一个完整的字符串对象可以看作是一个 char 类型的数组,既然是数组我们就可以把它当作集合去使用,

类型

范围

大小

注意

.NET 类型

String

所有unicode能表示的字符串

不限

双引号表示,比“iLync.cn”

System.String

创建 string 对象的方式

1) 直接赋值

string str5 = "abc"; //在堆中创建对象,并将引用分配给变量 str5。

2) 调用 string 的构造函数(+ 7 重载)

string str6 = new string(new char[] { 'a', 'b', 'c' });

2.4.1 string 的值具有不变性

string 最显著的特点就是它具有恒定不变性,我们一旦创建了一个 string 对象,就不能以任何方式改变该对象的值,比如:追加、删减、改变格式等。有时看上去改变了某个字符串,但实际上则是创建了一个新的字符串实例

2.5 布尔型

布尔型:用于表示真或假,只有两个可能的值:true和false。

类型

范围

大小

.NET 类型

bool

true/false

16 位

System.Bool

3 常量

常量(Constants)是指在程序中定义的固定不变的值,其值在编译时就确定,并且不能在程序运行时修改。常量在程序中具有唯一的标识符,并且其值在定义后不能被修改。

C#中,常量可以使用以下关键字进行定义:

  • const:用于定义编译时常量,它必须在声明时进行初始化,并且不能在程序的其他地方修改。常量的值在编译时就确定,因此它必须是编译时可确定的常量表达式。

const 数据类型 变量名 = 值 ;

常量的命名通常使用大写字母,以便与其他变量区分开来,并且常量的值在命名时应该具有描述性,以便于理解其含义。

4 类型转化

可以使用类型转换来将一个数据类型转换为另一个数据类型。常用的类型转换方法包括显式转换(explicit casting)和隐式转换(implicit casting)。

4.1 显式转换(强制装换)

显式转换是指将一个数据类型转换为另一个数据类型时,需要使用显式的转换操作符。在C#中,可以使用强制类型转换操作符(cast)或调用相应的类型转换函数来执行显式转换。

以下是一个示例,演示如何将一个整数转换为浮点数:

using System; //引入命名空间

namespace _001_开始
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            int num1 = 5;
            float num2 = (float)num1; // 使用强制类型转换操作符
            // 或者可以使用 Convert.ToSingle() 函数进行转换
            // float num2 = Convert.ToSingle(num1);

            Console.WriteLine("整数:" + num1);
            Console.WriteLine("浮点数:" + num2);
        }
    }
}

4.2 隐式转换

隐式转换是指在某些情况下,编译器会自动进行类型转换,而无需显式指定转换操作。隐式转换通常发生在从小范围数据类型到大范围数据类型的转换中,或者在派生类向基类的转换中。

以下是一个示例,演示隐式转换的情况:

using System; //引入命名空间

namespace _001_开始
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            int num1 = 5;
            double num2 = num1; // 隐式转换

            Console.WriteLine("整数:" + num1);
            Console.WriteLine("双精度浮点数:" + num2);
        }
    }
}

需要注意的是,在进行类型转换时,可能会发生数据丢失或精度损失的情况。因此,在进行类型转换之前,最好确保转换是安全和可靠的,并进行适当的数据验证和处理。

注意:本文的内容有部分来源于网络。

  • 25
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值