C# 教程(菜鸟到中级)
liuian 2025-08-01 18:40 125 浏览
基础入门
什么是C#
C#是一个简单的、现代的、通用的、面向对象的编程语言,由微软开发,是.NET平台下用于创建应用程序的高级语言,运行在.NET CLR上,是方便开发人员和计算机沟通的工具。
开发前的准备知识
C#编程基于C和C++编程语言,若对C和C++有基本了解,将有助于学习C#。
第一个C#程序示例
以下是一个简单的能打印出“Hello World”的C#代码:
using System;
namespace HelloWorldApplication
{
class HelloWorld
{
static void Main()
{
Console.WriteLine("Hello World!");
Console.ReadKey();
}
}
}
代码解释
- using System;:using关键字用于在程序中包含System命名空间,一个程序一般有多个using语句。
- namespace HelloWorldApplication:命名空间声明,一个namespace里包含了一系列的类,这里的HelloWorldApplication命名空间包含了类HelloWorld。
- class HelloWorld:类声明,类包含了程序使用的数据和方法声明,这里的HelloWorld类只有一个Main方法。
- static void Main():所有C#程序的入口点,说明当执行时类将做什么动作。
- Console.WriteLine("Hello World!");:WriteLine是定义在System命名空间中的Console类的一个方法,用于输出内容并换行。
- Console.ReadKey();:让程序等待一个按键的动作,防止程序从Visual Studio.NET启动时屏幕会快速运行并关闭。
注意事项
- C#是大小写敏感的。
- 所有的语句和表达式必须以分号(;)结尾。
- 程序的执行从Main方法开始。
- 与Java不同,文件名可以不同于类的名称。
输入输出相关
Console.ReadLine()和Console.ReadKey()的区别
- Console.ReadLine():会等待直到用户按下回车,一次读入一行。
- Console.ReadKey():等待用户按下任意键,一次读入一个字符,编写这个函数通常是为了让控制台窗口停留一下,直到敲击键盘为止,便于查看输出内容。
.NET、C#和ASP.NET的区别
.NET
.NET是微软公司下的一个开发平台,其核心是.NET Framework(.NET框架),是.NET程序开发和运行的环境,该平台是跨语言的,可使用不同的语言进行开发。.NET跨平台仅限于安卓系统和iOS苹果系统。.NET框架的组成分为两部分:
- CLR(公共语言运行时):提供内在管理,代码安全性检测等功能。其结构又包含CLS(公共语言规范,获取各种语言转换成统一的语法规范)、CTS(通用类型系统,将各种语言中的数据类型转换成统一的类型)、JIT(实时编译器,用于将转换之后的语言编译为二进制语言,交给CPU执行)。
- FLC(.NET框架类库):提供大量应用类库,类库中有很多现成的资源可使用(比如:类,方法,属性),提高开发效率。
C#
C#是.NET平台下的一个程序设计语言,仅仅是一个语言,运行在.NET CLR上,用于创建应用程序。
ASP.NET
ASP.NET是一个网站开发的技术,是.NET框架中的一个应用模型,用于生成基于Web的应用程序的内容丰富的编程框架。与Java、PHP和Perl等高级技术相比,ASP.NET具有方便性、灵活性、生产效率高、安全性高及面向对象等优点,是目前主流的网络编程技术之一。
数据类型相关
值类型
C#值类型分为简单类型、结构类型、枚举类型。简单类型中的整数类型有九种,如下表所示
引用类型
除了值类型,C#还有引用类型,常见的引用类型有类、接口、数组等。
类型转换
- 隐式类型转换:C#默认的以安全方式进行的转换,不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。
- 显式类型转换:即强制类型转换,需要强制转换运算符,而且强制转换会造成数据丢失。
后续学习建议
深入学习方向
可进一步学习C#的封装、方法、数组、字符串、结构、枚举、类、继承、多态性、接口、命名空间、正则表达式和文件操作等内容,以及高级特性如属性、索引器、委托、不安全代码和多线程等。
学习资源
可以参考CSDN博客频道的相关教程,以及菜鸟教程的C#教程等进行系统学习,同时结合实际项目进行练习,加深对知识的理解和掌握。
- 上一篇:C#扩展方法
- 下一篇:C#解析多层嵌套的JSON数组
相关推荐
- 做启动盘用什么软件好(做启动盘的工具)
-
制作软件下载后,安装。运行是时候就有提示插入u盘。然后点击一键制作即可。至于工具哪个好,个人使用的熟悉度来决定,u盘系统盘制作工具功能几乎一样。
- qq对战平台老版本(qq对战平台在qq哪里)
-
1.打开任务管理器-进程。查找是否有cstrike.exe或hl.exe(CS名字.exe)。如果有的话。请点击结束进程。再试试。2.打开任务管理器-进程。查找是否有QQPet.exe(QQ宠物进...
- 电脑开机无限自动重启(电脑开机后自动重启无数遍是什么原因)
-
依次打开开始控制面板,打开系统安全系统,找到高级系统设置并打开,进入系统属性选择高级,找到启动和故障恢复点击设置,在弹出页面找到系统失败自动重新启动取消勾选并启动。2.键盘按住win+r打开运行框,...
- ghostxp32位下载(ghost win7下载32位)
-
你不需要直接加4G的,你再买一条2G同品牌型号内存加上去,组成4G内存就行,不过系统要改为Win764位系统,因为XP只能认3.25G内存,如果你想下载圣安地列斯游戏,并且使用的系统是Window...
- eset nod32 24位激活码(eset激活码生成器)
-
ESETNOD32Antivirus4的激活码是24位的例如M26D-0233-4W9Q-VSSB-D84G-JJJJ或V26D-0243-4W9Q-VSSB-D84G-JGFD(友情提示...
- 鸿蒙系统的优缺点(鸿蒙4.3和5.0哪个好)
-
一、鸿蒙系统的缺点鸿蒙最大的缺点应该就是生态了。鸿蒙系统依赖安卓生态无可厚非,前者毕竟是一款刚刚发布两年的新系统。而安卓,早在几十年前就已经上线,谷歌建设安卓生态也用了十多年的时间。在巨大的时间差面前...
-
- bios怎么格式化c盘(bios格式下怎么彻底格式化电脑)
-
步骤/方式1BIOS没有格式化硬盘的功能。对硬盘进行格式化,首先需要给硬盘分区并分配文件系统,BIOS不支持文件系统的识别,所以也不支持格式化的功能。步骤/方式2早期的计算机系统在BIOS里面曾经有过低级格式化的功能,但是低级格式化只是对硬...
-
2025-12-22 20:05 liuian
- 电脑开机显示屏显示蓝屏(开机后显示器蓝屏)
-
造成电脑蓝屏的原因主要有以下几点。1、电脑使用过度,温度过高过度使用电脑会导致电脑硬件发生损坏,系统超载,内部运算过多,cpu温度急剧升高,会发生系统错误。建议更换散热系统,更新“小风扇”设备,并合...
- 设置无线网密码步骤(如何设置无线网络wifi密码)
-
首先使用已经连接到网络的手机或电脑,在浏览器地址栏输入192.168.1.1或者192.168.0.1;输入管理员账号和密码,两个一般都是输入admin;点击【无线设置】,进入【安全选项】,在输入旧密...
- 下载优酷官方正版(下载优酷官方正版网站)
-
您好,直接打开浏览器或者打开手机的应用商城,然后输入该软件的名称然后搜索即可在搜索结果中下载安装即可,也可以下载一个市场类软件,常见的有安卓市场,机锋市场等,之后使用此款软件下载其他程序。优酷视频...
- iso文件安装器(iso安装程序)
-
不能。苹果手机是不能安装apk格式软件的,apk是安卓系统的安装包格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。apk文件和sis一样,把androidsdk...
-
- 台式电脑重装系统按哪个键进入
-
不同品牌的设备按键是不同的1、如果原来电脑装一键还原软件,装系统时直接在启动画面选择重新恢复系统项即可;2、如需启动光盘或者优盘来重装系统,需要开机按启动热键,选择对应的按键即可调出启动菜单选择界面,在菜单中选择优盘或光驱,按回车,按提示进...
-
2025-12-22 17:55 liuian
- 戴尔笔记本电脑一开机就蓝屏
-
笔记本蓝屏可能是电脑硬盘故障,可以更换一个硬盘尝试。也可能是更新了驱动与修复漏洞补丁,可以进入安全模式将更新的驱动删除。有可能是内存条故障,可以把内存条取下来,用橡皮擦轻轻擦拭金手指,然后用毛刷将内存...
- 优酷路由宝怎么设置(优酷路由宝怎么设置网络)
-
无线连接如果准备用手机、笔记本电脑来设置优酷路由宝,需要先把WAN口,连接宽带网线(宽带猫、光猫);然后手机/笔记本电脑搜索连接到优酷路由宝的WiFi。优酷路由宝的默认WiFi名称是:Youku_开...
- 一周热门
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)
