# C# 微软官方文档
# C# 文档
# C# 菜鸟教程
# C# 教程
# 开发环境与学习资料
集成开发环境:IDE(Integrated Development Environment)
编辑工具:VS2019(Visual Studio 2019)or VS2022
安装组件:
.net 桌面开发
🕮 📕📘📙📔
学习视频汇总
语雀刘铁猛笔记
C# 语言定义文档(Language Specification)
# VS 2019 相关配置
设置主题:工具 ➡ 选项 ➡ 环境 ➡ 常规 ➡ 颜色主题
设置字号:
工具 ➡ 选项 ➡ 环境 ➡ 字体和颜色(JetBrains Mono 、Consolas)
或者 ctrl + 鼠标滑轮
显示行号:工具 ➡ 选项 ➡ 文本编辑器 ➡ C# ➡ 行号
😀
- Solution:针对客户需求的总的解决方案
- Project:解决具体的某个问题
# C# 编写的各类应用程序
1、Console
新建项目 ➡ 控制台应用(.NET Framework)
Console.WriteLine("hello world"); |
2、WPF(Windows Presentation Foundation)*
新建项目 ➡ WPF 应用(.NET Framework)➡ 添加 textbox 和 button 控件,添加事件名 ➡ 双击 button 按钮
namespace WpfTest | |
{ | |
/// <summary> | |
/// MainWindow.xaml 的交互逻辑 | |
/// </summary> | |
public partial class MainWindow : Window | |
{ | |
public MainWindow() | |
{ | |
InitializeComponent(); | |
} | |
private void buttonSayHello_Click(object sender, RoutedEventArgs e) | |
{ | |
textBoxShowHello.Text = "hello world"; | |
} | |
} | |
} |
3、Windows Forms(Old)
新建项目 ➡ Windows 窗体应用(.NET Framework)➡ 添加 textbox 和 button 控件,添加事件名 ➡ 双击 button 按钮
namespace WinformHello | |
{ | |
public partial class Form1 : Form | |
{ | |
public Form () | |
{ | |
InitializeComponent(); | |
} | |
private void buttonSayHello_Click(Object sender, EventArgs e) | |
{ | |
textBoxShowHello.Text = "hello world"; | |
} | |
} | |
} |
4、ASP.NET Web Forms(Old)
添加 ASP.NET Web 开发组 ➡ 新建项目 ➡ .NET FrameWork Web
5、ASP.NET MVC(Model-View-Controller)*
分离不同种类的代码
结构清晰,易于维护
6、WCF(Windows Communication Foundation)*
7、Windows Store Application *
8、Windows Phone Application *
9、Cloud(Windows Azure)*
10、WF(Workflow Foundation)
# 编译过程
C# 编译:代码 ➡ 程序集(exe dll)
程序集在运⾏的时候会编译成机器指令( JIT 及时编译)
# 运行
- 菜单栏启动
- ctrl + F5
# 输出输入
// 输出 | |
Console.Write(); // 不换行 | |
Console.WriteLine(); // 换行 | |
➡ \n换行符,\表示转义字符 | |
➡ \t制表符,表示tab键 | |
Console.Write("hello \nworld!"); | |
// 字符串格式化输出 | |
int a = 12; | |
int b = 13; | |
Console.WriteLine("{0} + {1} = {2}", a, b, a+b); |
😀
// 输入 | |
Console.ReadLine(); | |
int strInt = Convert.ToInt32(Console.ReadLine()); // 数据类型转换 | |
Console.WriteLine(strInt + "-"); |
# $ 和 @ 的用法
$
:相当于String.format
的简写@
:转移字符\
保持原意,不要转义,默认的\
是作为转义来使用的
string name = "呆呆"; | |
int age = 18; | |
string str1 = String.Format("My name is {0}, I'm {1} years old.", name, age); | |
string str2 = $"My name is {name}, I'm {age} years old."; | |
// C:\Users\Example\Documents\File.txt | |
string path1 = @"C:\Users\Example\Documents\File.txt"; | |
string path2 = "C:\\Users\\Example\\Documents\\File.txt"; |
# 快捷键
ctrl + k 、ctrl + c:单行注释
ctrl + k 、ctrl + u:取消注释
ctrl + shift + /:多行注释
Home/End:定位光标在最前或最后
shift/ctrl:选择
shift:选择多行代码
Page Up/Page Down:翻页
F5:开始调试
ctrl + F5:开始执行(不调试)
insert:插入模式和覆盖模式
选中内容 ctrl + k、ctrl + f:代码格式化
输入 cw + 两次 tab:快速输入 WriteLine
alt + enter:弹出智能标记
# 注释
单行注释:ctrl + k 、ctrl + c 或者 ctrl + /(可自己设置) | |
取消注释:ctrl + k 、ctrl + u | |
多行注释:ctrl + shift + / |
# 折叠
#region | |
#endregion |
// 字符串转日期 | |
Convert.ToDateTime("2020-04-21 15:57:32"); //string 格式要求,必须是 yyyy-MM-dd hh:mm:ss |