c#数据类型和表达式
2024-08-25 00:09:57
一、数据类型
值类型:
1、整数(没有小数)
Byte:字节0~255
Char:一个字符
Int
2、有小数
范围大的:double双
小范围:float单
最精确的:十进制decimal
3、bool:true,false
值类型主要由简单类型、枚举类型和结构类型这三类组成:
种类
|
描述
|
|
值类型
|
简单类型(Simple types)
|
有符号整数:sbyte, short, int, long
|
无符号整数:byte, ushort, uint, ulong
|
||
Unicode 字符:char
|
||
IEEE 浮点数:float, double
|
||
十进制数:decimal
|
||
布尔值:bool
|
||
枚举类型(Enum type)
|
enum E {...}
|
|
结构类型(Struct type)
|
struct S {...}
|
整数类型在计算机中的取值范围
描述
|
位数
|
数据类型
|
取值范围
|
有符号整数
|
8
|
sbyte
|
–128~127
|
16
|
short
|
–32 768~32 767
|
|
32
|
int
|
–2 147 483 648~2 147 483 647
|
|
64
|
long
|
–9 223 372 036 854 775 808~9 223 372 036 854 775 807
|
|
无符号整数
|
8
|
byte
|
0~255
|
16
|
ushort
|
0~65 535
|
|
32
|
uint
|
0~4 294 967 295
|
|
64
|
ulong
|
0~18 446 744 073 709 551 615
|
浮点类型在计算机中的取值范围
描述
|
位数
|
数据类型
|
取值范围
|
单精度浮点型
|
32
|
float
|
1.5 × 10−45 到~3.4 × 1038, 7位精度
|
双精度浮点型
|
64
|
double
|
5.0 × 10−324 ~1.7 × 10308,15位精度
|
十进制类型在计算机中的取值范围
描述
|
位数
|
数据类型
|
取值范围
|
十进制类型
|
128
|
decimal
|
1.0 × 10−28~7.9 × 1028, 29位精度
|
字符类型采用国际上公认的Unicode标准字符集
描述
|
位数
|
数据类型
|
取值范围
|
字符类型
|
16
|
char
|
在0~65 535范围内以双字节编码的任意符号
|
枚举类型为一组在逻辑上密不可分的整数提供便于记忆的符号
比如,声明一个代表季节的枚举类型的变量:
enum Season { Spring, Summer, Autumn, Winter};
Season currentSeason;
泛型
一种定义一个可以在使用时才确定类型的数据类型的机制
二、运算符和表达式
运算符从高到低的优先级顺序:
运算符类型
|
运 算 符
|
初级运算符
|
x.y, f(x), x+a[x], +, x--, new, typeof, checked, unchecked
|
一元运算符
|
!, ~, ++, --, (T)x
|
乘法、除法、取模运算符
|
*, /, %
|
增量运算符
|
+ , -
|
移位运算符
|
<< , >>
|
关系运算符
|
< , > , <= , >= , is, as
|
等式运算符
|
== , !=
|
逻辑“与”运算符
|
&
|
逻辑“异或”运算符
|
^
|
逻辑“或”运算符
|
|
|
条件“与”运算符
|
&&
|
条件“或”运算符
|
||
|
条件运算符
|
?:
|
赋值运算符
|
= , *= , /= , %= , += , -= , <<=, >>= , &= , ^= , |=
|
算术运算符用于创建执行数学操作的表达式
运 算 符
|
描 述
|
运 算 符
|
描 述
|
+
|
加
|
/
|
除
|
-
|
减
|
++
|
自增1
|
*
|
乘
|
--
|
自减1
|
%
|
取模
|
关系运算符用于创建一个表达式,该表达式用来比较两个对象并返回布尔值
运 算 符
|
描 述
|
运 算 符
|
描 述
|
==
|
等于
|
>
|
大于
|
!=
|
等于
|
<=
|
小于或等于
|
<
|
小于
|
>=
|
大于或等于
|
逻辑运算符和布尔型操作数一起组成了逻辑表达式
运算符
|
描述
|
!
|
NOT (非)
|
&&
|
AND (短路)如果左边为false,右边就不必再计算
|
&
|
AND (非短路)就算左边为false,右还计算
|
||
|
OR (短路)如果左边成立,右边不再执行
|
|
|
OR (非短路)无论左边是否为true,右边始终会执行判断
|
^
|
XOR (异或)
|
true
|
测试 true 值(重载时使用)
|
false
|
测试 false 值(重载时使用)
|
扩充后的赋值运算符与赋值表达式
运 算 符
|
描 述
|
=
|
赋值
|
+=
|
加法赋值
|
-=
|
减法赋值
|
*=
|
乘法赋值
|
/=
|
除法赋值
|
%=
|
取模赋值
|
条件运算符是唯一有3个操作数的运算符,所以有时又称为三元运算符
对条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值
最新文章
- 认识Activity,创建第一个android应用-Hello Word
- [bzoj4552][Tjoi2016][Heoi2016]排序
- org.hibernate.QueryException: could not resolve property
- JQuery事件手册
- RWD
- JAVA注释方式--目前用的
- 2013 多校联合 F Magic Ball Game (hdu 4605)
- PXE+kickstart无人值守安装CentOS 6
- CentOS7下 Java、Tomcat、MySQL、Maven热部署
- 【oacle入门】表空间类型
- get windows auth code
- 初始Vue
- Charles 抓包工具
- tp5文件上传展示
- 20155308《网络对抗》Exp9 Web安全基础实践
- 绑定DDL控件方法
- mssql注入指令
- windows开启禁用网卡
- 【译文】MySQL InnoDB 事物模型
- 微信小程序使用函数的三种方法
热门文章
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_命名空间和程序集的关系
- bash 中 trim 字符串(去除首尾空格) - grep 去空行
- asp.net模板页实现类似jquery中document.ready
- 4.会话管理(Session)
- ajax提交文件file 单个文件上传
- connect to 10.104.11.128 port 9999 (tcp) failed: No route to host
- Android中的下拉列表
- 转:Android中的Handler的机制与用法详解
- FileZila
- HDU 4578——Transformation——————【线段树区间操作、确定操作顺序】