导图社区 C Sharp
这是一篇关于C的思维导图,该思维导图全面而细致地介绍了C#编程语言的基础知识、类型系统、转换方法、开发环境以及程序结构,是学习和掌握C#的宝贵资源。
编辑于2025-03-17 13:15:13C#
简介
现代的、通用的编程语言。
面向对象。
面向组件。
容易学习。
结构化语言。
它产生高效率的程序。
它可以在多种计算机平台上编译。
.Net 框架的一部分。
强大的编程功能
布尔条件(Boolean Conditions)
自动垃圾回收(Automatic Garbage Collection)
标准库(Standard Library)
组件版本(Assembly Versioning)
属性(Properties)和事件(Events)
委托(Delegates)和事件管理(Events Management)
易于使用的泛型(Generics)
索引器(Indexers)
条件编译(Conditional Compilation)
简单的多线程(Multithreading)
LINQ 和 Lambda 表达式
集成 Windows
C# 环境
.Net 框架(.Net Framework)
Windows 应用程序
Web 应用程序
Web 服务
配置环境变量
路径类似于
C:\Windows\Microsoft.NET\Framework\v4.0.30319
查看c#版本
C# 程序结构
命名空间声明(Namespace declaration)
一个 class
Class 方法
Class 属性
一个 Main 方法
语句(Statements)& 表达式(Expressions)
注释
C# Hello World 实例
test.cs
using System; namespace HelloWorldApplication { class HelloWorld { static void Main(string[] args) { /* 我的第一个 C# 程序*/ Console.WriteLine("Hello World"); Console.ReadKey();//用于暂停程序运行,等待用户输入,避免程序一闪而过 } } }
编译
csc test.cs
C# 基本语法
using 关键字
在任何 C# 程序中的第一条语句都是
using System;
顶级语句(Top-Level Statements)
C# 9.0 以上版本允许开发者在文件的顶层直接编写语句,而不需要将它们封装在方法或类中。
C# 数据类型
值类型(Value types)
引用类型(Reference types)
对象(Object)类型
object obj;
obj = 100; // 这是装箱
动态(Dynamic)类型
您可以存储任何类型的值在动态数据类型变量中。这些变量的类型检查是在运行时发生的。
dynamic d = 20;
字符串(String)类型
值可以通过两种形式进行分配:引号和 @引号。
String str = "runoob.com";
@"runoob.com";
C# string 字符串的前面可以加 @(称作"逐字字符串")将转义字符(\)当作普通字符对待
string str= @"C:\Windows"; 等价于: string str = "C:\\Windows";
@ 字符串中可以任意换行,换行符及缩进空格都计算在字符串长度之内。
string str = @"<script type=""text/javascript""> <!-- --> </script>";
指针类型(Pointer types)
存储另一种类型的内存地址
int* iptr;
C# 类型转换
C# 中的类型转换可以分为两种:隐式类型转换和显式类型转换(也称为强制类型转换)。
隐式类型转换
将一个较小范围的数据类型转换为较大范围的数据类型时,编译器会自动完成类型转换
byte b = 10; int i = b; // 隐式转换,不需要显式转换
显式转换
一个较大范围的数据类型转换为较小范围的数据类型时
int i = 10; byte b = (byte)i; // 显式转换,需要使用强制类型转换符号
一个对象类型转换为另一个对象类型时
int intValue = 123; string stringValue = intValue.ToString(); // 将 int 转换为字符串
强制转换会造成数据丢失。
C# 类型转换方法
内置的类型转换方法
ToBoolean:
将值转换为 bool 类型。
示例:bool result = Convert.ToBoolean("true");
ToByte:
将值转换为 byte 类型(0 到 255)。
示例:byte result = Convert.ToByte("123");
ToChar:
将值转换为 char 类型。
示例:char result = Convert.ToChar("A");
ToDateTime:
将值转换为 DateTime 类型。
示例:DateTime result = Convert.ToDateTime("2023-10-01");
ToDecimal:
将值转换为 decimal 类型。
示例:decimal result = Convert.ToDecimal("123.456");
ToDouble:
将值转换为 double 类型。
示例:double result = Convert.ToDouble("123.456");
ToInt16:
将值转换为 short 类型。
示例:short result = Convert.ToInt16("123");
ToInt32:
将值转换为 int 类型。
示例:int result = Convert.ToInt32("123");
ToInt64:
将值转换为 long 类型。
示例:long result = Convert.ToInt64("123");
ToSByte:
将值转换为 sbyte 类型。
示例:sbyte result = Convert.ToSByte("-123");
ToSingle:
将值转换为 float 类型。
示例:float result = Convert.ToSingle("123.456");
ToString:
将值转换为 string 类型。
示例:string result = Convert.ToString(123);
ToType:
将值转换为指定类型。
示例:var result = Convert.ChangeType("123", typeof(int));
ToUInt16:
将值转换为 ushort 类型。
示例:ushort result = Convert.ToUInt16("123");
ToUInt32:
将值转换为 uint 类型。
示例:uint result = Convert.ToUInt32("123");
ToUInt64:
将值转换为 ulong 类型。
示例:ulong result = Convert.ToUInt64("123");
类型转换方法
使用 Convert 类
C# 变量
C# 变量作用域
C# 常量
C# 运算符
C# 判断
C# 循环
C# 封装
C# 方法
C# 可空类型
C# 数组(Array)
C# 字符串(String)
C# 结构体(Struct)
C# 枚举(Enum)
C# 类(Class)
C# 继承
C# 多态性
C# 运算符重载
C# 接口(Interface)
C# 命名空间(Namespace)
C# 预处理器指令
C# 正则表达式
C# 异常处理
C# 文件的输入与输出
C# 高级教程
C# 特性(Attribute)
C# 反射(Reflection)
C# 属性(Property)
C# 索引器(Indexer)
C# 委托(Delegate)
C# 事件(Event)
C# 集合(Collection)
C# 泛型(Generic)
C# 匿名方法
C# 不安全代码
C# 多线程