目录
一、C# 是什么?为什么选择它?
在开始学习之前,先问大家一个问题:如果让你开发一个简单的小游戏,比如贪吃蛇或者俄罗斯方块,你会选择用什么编程语言呢?又或者,假如你要为一家企业开发一个功能强大的管理系统,处理大量的数据和复杂的业务逻辑,哪种语言能更好地胜任呢?这些看似复杂的任务,其实都可以用 C# 来实现。
C# 是一种由微软开发的面向对象的编程语言,它发音为 “See Sharp” ,诞生于 2000 年,是专门为.NET 框架量身打造的语言,最早亮相于微软职业开发者论坛(PDC),由微软研究员安德斯・海尔斯伯格领导开发。C# 语言简单、类型安全,继承了 C 和 C++ 的强大功能,同时又去除了一些复杂特性,比如宏和多重继承,这让它兼具了强大的功能和相对简洁的语法,对于初学者来说非常友好 。而且它还直接支持.NET 框架,与 COM(组件对象模型)集成,具备类似 Visual Basic 的快速开发能力,并允许调用由 C/C++ 编写的本机原生函数,如今已成为 Ecma 国际和国际标准组织的标准规范。
C# 的应用领域非常广泛,在游戏开发、企业级应用开发、Web 应用开发、移动应用开发等多个领域都有着出色的表现。在游戏开发领域,许多知名游戏,像《王者荣耀》《纪念碑谷》等,都是基于 C# 开发的。借助 Unity 引擎,C# 能够为游戏开发者提供高效、便捷的开发体验,轻松实现各种炫酷的游戏特效和流畅的游戏交互。在企业级应用开发中,C# 同样表现出色,不少大型企业的管理系统、财务系统等关键应用都是用 C# 构建的,它能够与企业现有的系统和数据库进行无缝集成,帮助企业高效地进行数据存储、检索和管理。此外,在 Web 应用开发和移动应用开发领域,C# 也凭借其强大的功能和出色的性能,赢得了众多开发者的青睐。
从就业前景来看,学习 C# 也有着巨大的优势。随着数字化转型的加速,企业对 C# 开发者的需求持续增长,无论是大型互联网公司,还是传统的金融、制造业企业,都在积极招聘 C# 开发人才,为他们提供了广阔的职业发展空间。并且 C# 开发者的薪资待遇也相当可观,根据相关数据显示,2024 年 C# 开发者的平均年薪保持着稳定增长的趋势,这无疑是对 C# 开发者技术价值的有力认可。
二、学习前的准备工作
“工欲善其事,必先利其器”,在正式开启 C# 学习之旅前,我们得先把开发工具准备好。这里强烈推荐使用 Visual Studio,它是微软官方推出的一款功能超级强大的集成开发环境(IDE),就像是一个超级工具箱,里面包含了代码编辑器、调试器、项目管理工具等一系列开发所需的 “利器”,对 C# 开发的支持那叫一个全面,无论是新手还是经验丰富的开发者,用起来都得心应手。
下面就来一步步教大家如何下载、安装 Visual Studio,并完成一些基本设置。
下载 Visual Studio:打开浏览器,访问 Visual Studio 的官方下载页面(下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux )。在这里,你会看到有多个版本可供选择,对于咱们初学者和个人开发者来说,社区版(Community Edition)完全够用了,它不仅免费,而且功能一点也不含糊。找到社区版的下载按钮,点击下载,耐心等待下载完成。
安装 Visual Studio:下载完成后,找到下载的安装文件,通常是一个.exe 后缀的文件,双击运行它。安装过程中,会弹出安装向导界面,首先选择安装位置,建议不要安装在系统盘(一般是 C 盘),因为 Visual Studio 占用的空间较大,安装在其他磁盘可以避免影响系统运行速度,你可以在 D 盘或其他空间充足的磁盘新建一个文件夹来安装。接着,在 “工作负荷” 选项中,勾选 “.NET 桌面开发”,这一项包含了开发 C# 桌面应用所需的各种工具和组件 。当然,如果你还想涉猎其他领域,比如 Web 开发,也可以一并勾选 “ASP.NET和 Web 开发”。另外,别忘了在 “语言包” 中选择 “中文 (简体)”,这样界面就会显示为中文,更方便我们操作。选好后,点击 “安装” 按钮,接下来就交给电脑,耐心等待安装完成吧,这个过程可能需要一些时间,取决于你的电脑配置和网络速度。
基本设置:安装完成后,首次启动 Visual Studio,会让你选择开发设置,这里选择 “常规” 即可,颜色主题可以根据自己的喜好选择,比如 “浅色” 主题看起来比较清爽,“深色” 主题则在夜间使用更护眼。进入主界面后,还可以进一步对 Visual Studio 进行个性化设置。比如,调整代码编辑器的字体大小和样式,让代码看起来更舒服。依次点击 “工具” - “选项”,在弹出的窗口中,选择 “环境” - “字体和颜色”,在这里就可以对字体、字号、颜色等进行调整 。另外,为了提高开发效率,还可以自定义一些快捷键,在 “选项” 窗口中选择 “环境” - “键盘”,找到你常用的操作,比如 “生成解决方案”,为它指定一个更顺手的快捷键,这样在开发过程中就能通过快捷键快速执行操作,节省时间。
除了安装开发工具,学习 C# 还需要具备一些必备的基础知识:
-
计算机基础概念:要对计算机的基本组成、操作系统、文件系统等有一定的了解。比如,知道什么是 CPU、内存、硬盘,它们在计算机运行过程中分别扮演什么角色;熟悉 Windows 操作系统的基本操作,像文件的创建、复制、删除,文件夹的管理等;了解文件的扩展名,以及不同类型文件的作用,因为在 C# 开发中,我们会经常和各种文件打交道,比如.cs 文件(C# 源文件)、.sln 文件(解决方案文件)等。
-
基本的数学知识:虽然 C# 开发不像数学研究那样需要高深的数学知识,但一些基本的数学运算和逻辑还是必须掌握的。比如,四则运算(加、减、乘、除)、取余运算,这些在编程中用于数值计算;还有逻辑运算(与、或、非),用于条件判断和流程控制,像在 if 语句、while 语句中,经常会用到逻辑运算来判断条件是否成立 。另外,对一些常见的数学函数,如绝对值函数、三角函数等,也需要有一定的认识,在处理图形、算法等相关的开发时,可能会用到这些函数。
三、基础语法入门
(一)数据类型与变量
在 C# 中,数据类型就像是一个个不同规格的容器,用于存放不同类型的数据,主要分为值类型和引用类型。值类型的变量直接存储数据的值,就像一个小盒子,里面直接装着物品;而引用类型的变量存储的是数据的引用,类似于一个指向物品存放位置的标签 。常见的值类型有整型、浮点型、字符型、布尔型等,引用类型有类、接口、数组、字符串等。下面详细介绍几种常用的数据类型:
-
整型:用于表示整数,根据所占用的内存空间和表示范围不同,又细分为 sbyte(-128 到 127)、byte(0 到 255)、short(-32,768 到 32,767)、ushort(0 到 65,535)、int(-2,147,483,648 到 2,147,483,647)、uint(0 到 4,294,967,295)、long(-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807)、ulong(0 到 18,446,744,073,709,551,615)。例如,声明一个 int 类型的变量来存储学生的年龄:int age = 20;
-
浮点型:用来表示带小数的实数,分为 float(单精度浮点型,精度大约为 7 位小数)和 double(双精度浮点型,精度大约为 15 - 17 位小数) 。比如,要存储商品的价格,可以这样声明变量:double price = 9.99;,如果对精度要求不高,也可以使用 float 类型,不过需要在数值后面加上 F 或 f,如float price2 = 5.5F;
-
字符型:用于存储单个字符,用 char 关键字声明,字符需要用单引号括起来 。例如,char grade = 'A';,这里的 grade 变量就存储了一个字符 'A'。
-
布尔型:只有两个值,true(真)和 false(假),常用于条件判断 。比如,判断一个学生是否及格,可以用布尔型变量表示:bool isPass = true; ,表示该学生及格了。
-
字符串型:属于引用类型,用于存储一串字符,用 string 关键字声明,字符串需要用双引号括起来 。比如,存储一个人的姓名:string name = "张三";
变量是在程序运行过程中可以改变值的量,它就像是一个可以随时更换内容的盒子。在 C# 中,声明变量的语法是:数据类型 变量名;例如,int num; 声明了一个 int 类型的变量 num。声明变量后,可以通过赋值语句给变量赋值,使用变量名 = 值;的形式,如num = 10; ,也可以在声明变量的同时进行赋值,像int num = 10;这样。另外,C# 还支持隐式类型变量声明,使用 var 关键字,编译器会根据赋值表达式自动推断变量的类型 ,例如var message = "Hello, C#!"; ,这里编译器会推断 message 为 string 类型。 变量命名也有一些规则和规范,变量名只能由字母、数字和下划线组成,并且不能以数字开头;变量名不能与 C# 关键字相同,如果要使用关键字作为变量名,需要在关键字前加上 @符号 ;变量名要尽量做到见名知意,比如用 studentName 表示学生姓名,这样可以提高代码的可读性。
(二)运算符与表达式
运算符是对数据进行操作的符号,就像是各种工具,用于对变量和值进行运算,而表达式则是由运算符和操作数组成的式子 。C# 中的运算符种类丰富,下面介绍几种常见的运算符:
-
算术运算符:用于基本的数学运算,如加(+)、减(-)、乘(*)、除(/)、取余(%)、自增(++)、自减(--) 。其中,自增和自减运算符又分为前置和后置两种情况。例如,int a = 5; int b = a++; ,先将 a 的值 5 赋给 b,然后 a 再自增 1,此时 a 的值变为 6,b 的值为 5;而int c = 5; int d = ++c; ,则是 c 先自增 1 变为 6,然后将 6 赋给 d,此时 c 和 d 的值都为 6 。
-
比较运算符:用于比较两个值的大小或是否相等,结果是布尔类型(true 或 false),包括等于(==)、不等于(!=)、大于(>)、小于(<)