### C# 入门到精通加强版:基础知识详解 #### C# 基础类型与变量 在 C# 编程语言中,了解基础数据类型和变量是非常重要的第一步。这有助于开发者有效地管理内存并编写出高效且可靠的代码。 **1. 类型概述** - **值类型**:主要包括简单类型(例如 `char`、`int` 和 `float` 等)、枚举类型以及结构体类型。这类类型的值存储在栈中。 - **引用类型**:包括类(Class)、接口、委托以及数组类型。这些类型的值存储在堆上,而变量中只存储指向实际数据的引用。 **2. 变量声明** 每个变量都需要明确声明其类型,例如: ```csharp int a; // 整型变量 int b = 100; // 初始化整型变量 float j = 4.5f; // 浮点型变量 string s1; // 字符串变量 ``` - **使用 `object` 表示所有类型**:`object` 是 C# 中所有类型的最终基类型,可以用来表示任何其他类型的数据。 ```csharp object o = null; ``` **3. 预定义类型** | 类型 | 说明 | 示例 | 范围 | |----------|----------------------------------------------------------|--------------------------------|------------------------------------------------------| | `object` | 所有其他类型的最终基类型 | `object o = null;` | - | | `string` | 字符串类型;字符串是由 Unicode 字符组成的序列 | `string s = "hello";` | - | | `sbyte` | 8 位有符号整型 | `sbyte val = 12;` | -128 到 127 | | `short` | 16 位有符号整型 | `short val = 12;` | -32,768 到 32,767 | | `int` | 32 位有符号整型 | `int val = 12;` | -2,147,483,648 到 2,147,483,647 | | `long` | 64 位有符号整型 | `long val1 = 12;`<br>`long val2 = 34L;` | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | | `byte` | 8 位无符号整型 | `byte val1 = 12;` | 0 到 255 | | `ushort` | 16 位无符号整型 | `ushort val1 = 12;` | 0 到 65,535 | | `uint` | 32 位无符号整型 | `uint val1 = 12;`<br>`uint val2 = 34U;` | 0 到 4,294,967,295 | | `ulong` | 64 位无符号整型 | `ulong val1 = 12;`<br>`ulong val2 = 34U;`<br>`ulong val3 = 56L;`<br>`ulong val4 = 78UL;` | 0 到 18,446,744,073,709,551,615 | | `float` | 单精度浮点型 | `float val = 1.23F;` | ±1.5×10<sup>-45</sup> 到 ±3.4×10<sup>38</sup> | | `double` | 双精度浮点型 | `double val1 = 1.23;`<br>`double val2 = 4.56D;` | ±5.0×10<sup>-324</sup> 到 ±1.7×10<sup>308</sup> | | `bool` | 布尔型;`bool` 值只能为真(true)或假(false) | `bool val1 = true;`<br>`bool val2 = false;` | - | | `char` | 字符类型;`char` 值是一个 Unicode 字符 | `char val = 'h';` | - | | `decimal`| 精确的小数类型,具有 28 个有效数字 | `decimal val = 1.23M;` | ±1.0×10<sup>-28</sup> 到 ±7.9×10<sup>28</sup> | **4. 变量转换** - **简单转换**:可以直接将一个类型的值赋给另一个类型,例如: ```csharp float f = 100.1234f; short s = (short)f; // 显示转换 ``` - **使用 `Convert` 方法进行转换**: ```csharp string s1; s1 = Convert.ToString(a); MessageBox.Show(s1); ``` **5. `Convert` 方法总结** - `Convert.ToBoolean` - `Convert.ToByte` - `Convert.ToChar` - `Convert.ToDateTime` - `Convert.ToDecimal` - `Convert.ToDouble` - `Convert.ToInt16` - `Convert.ToInt32` - `Convert.ToInt64` - `Convert.ToSByte` - `Convert.ToSingle` - `Convert.ToString` - `Convert.ToUInt16` - `Convert.ToUInt32` - `Convert.ToUInt64` **6. `Math` 类** - **常用数学函数**: - `Math.Abs`:绝对值 - `Math.Sqrt`:开方 - `Math.Round`:取整,四舍五入 - `Math.Floor`:取整,去除小数部分 - `Math.Cos`:余弦 - `Math.Sin`:正弦 - `Math.Tan`:正切 - `Math.Exp`:返回 e 的指定次幂 - `Math.Log`:对数 - `Math.Pow(x, y)`:数字 x 的 y 次幂 - `Math.Max(x, y)`:返回较大者 - `Math.Min(x, y)`:返回较小者 **7. 枚举类型** 枚举类型是一种特殊的类型,它由一组固定的常量组成。例如,可以定义一个颜色枚举: ```csharp enum Color { Red = 1, Blue = 2, Green = 3 } ``` 然后在类中使用这个枚举: ```csharp class Shape { public int Fill(Color color) { int ii; switch (color) { case Color.Red: ii = 10; break; case Color.Blue: ii = 11; break; case Color.Green: ii = 12; break; default: ii = -1; break; } return ii; } } ``` 通过上述介绍,我们可以看出 C# 提供了丰富的数据类型和强大的类型转换功能,这些基础知识对于掌握 C# 编程语言至关重要。理解这些概念可以帮助开发者更好地管理和操作数据,进而编写出更加健壮和高效的程序。
剩余93页未读,继续阅读
- 粉丝: 31
- 资源: 38
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助