C# Language Fundamentals
来源:互联网 发布:ps3游戏数据损坏 编辑:程序博客网 时间:2024/04/28 04:15
类型
C#语言的数据类型主要分为两类:
值类型和引用类型。
值类型又分为简单类型,结构(struct)和枚举(enum).
简单类型还可以细分为数值类型和布尔(bool)类型. C#语言中布尔类型严格地与数值类型区分,只有true和false两种取值,不存在像C/C++里那样和其他类型之间的转换,即没有非零为真的说法了.
类型大小/字节.NET类型说明byte1Byte无符号(值0-255)char2CharUnicode字符bool1Boolean
true或者false
sbyte1SByte有符号(-128-127)short2Int16 ushort2UInt16 int4Int32 uint4UInt32 float4Single double8Double decimal16Decimal最大28位加小数点,要求加前缀M或者mlong8Int64
ulong8UInt64
一些需要注意的地方:
虽然C#将char定义为整型类型,但是它不能随意地在任何情况下与整数混用。这就意味着,在C#中把一个字符变量当作另外的整数数据类型看待是行不通的.
char ch;
ch=‘X';
ch=10;//error
之所以不能这样使用,和类型的隐式(implicit)转换有关. 隐式转换只能发生在转换保证不损失信息的前提下,比如2字节的short转换为4字节的int, 上述语句试图将整形隐式转换为char类型,是不可以的,但是可以使用显式(explicit)转换: ch=(char)10;
条件分支语句
case语句: 在case语句不为空时,不能向下执行,如下例:
case 1: //可以向下执行
case 2:
因为这里case 1为空语句, 但是如果像下面这样:
case 1:
takesomeaction(); //不能向下执行
case 2:
这里case 1有一条语句,所以不能向下执行.如果需要case1 继续向下执行case2,必须显式使用goto 如下:
case 1:
takesomeaction();
goto case2 ;//显式向下执行
case 2:
条件编译
在编译代码之前,会运行预处理器(preprocessor),为编译器做一些准备工作,预处理器会检查代码, 寻找特殊的预处理器指令(directive),这些指令都以符号#开头,他们可以定义标识符,然后检查这些标识符是否存在.
#define DEBUG 定义了一个预处理器标识符DEBUG, 定义标识符必须在文件的最上面包括using之前.
# define DEBUG
#if DEBUG
//如果定义了DEBUG就编译此代码
#elif DEBUG1
//如果定义了DEBUG1就编译此代码
# else
//如果DEBUG和DEBUG1都没定义,则编译此代码
#endif
# undef DEBUG//取消定义DEBUG
- C# Language Fundamentals
- 2 PL/SQL Language Fundamentals(基本原理)
- C# Language
- C# Language
- C# Language Specification
- c# language 前景如何
- C# multi language
- The C# Programming Language Notes
- C# Language Specification 3.0 Cn
- The C# Programming Language Notes
- Chapter 1. C# Language Elements
- Effective C# Chapter1-Language Elements
- CLR via C# 总结之Chap4 Type Fundamentals
- The C# Programming Language Notes II
- Effective C# 摘录(1) - C#Language Elements
- The C# Programming Language for Java Developers
- Some New in C# 3.0 language
- Programming Microsoft Visual C# 2005: The Language
- 强大的javascript
- 4步教你学会使用matlab模糊控制工具箱
- java 压缩、解压
- 理解Java类加载原理
- vc6中 error C2011: 'fd_set' : 'struct' type redefiniti...
- C# Language Fundamentals
- Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 4122 compliant UUID values;
- CachedConnectionManager] Closing a connection for you. Please close them yourself:
- oracle建库
- 双机热备
- java 基本数据类型
- 操作数据库的sql语句
- 对话框如何嵌入到视图客户区中
- oracle基础--建库建表