C#零基础小白快速入门指导

简介: 前言本文写给想学C#的朋友,目的是以尽快的速度入门

前言

本文写给想学C#的朋友,目的是以尽快的速度入门


C#好学吗?

对于这个问题,我以前的回答是:好学!但仔细想想,不是这么回事,对于新手来说,C#没有那么好学。

反而学Java还要容易一些,学Java Web就行了,就是SpringBoot那一套。

但是C#方向比较多,你是学控制台程序、WebAPI、ASP.NET、Winform还是WPF?如果再区分一下.NET Framework和.NET Core,应用程序类型就更多了。

我建议可以通过控制台程序和Winform入门,这样才简单。

控制台程序可用于写Hello World,以及学习语法的时候写一些小Demo。使用Winform,就可以写一些小应用了,比如计算器、时钟,以及你能想到的小工具,都可以用C#写。

比如计算器程序,可以写的很简单,也可以写的很复杂,这是我2012年写的:Calculator

万事开头难,简单入门之后,C#的简单易学才真正体现出来。


C#怎么学?

不建议看视频学习,除非你确实找到了不错的入门视频,原因:

1、C#优秀入门视频不多。

2、看视频学习速度慢。只学语法没有用,看不到学习成果,学完就扔了。所以为了快速学完语法,再学实用的内容,最好看书。


这里推荐一本从当当网搜索到的书,《C#入门经典》第9版,书的内容更新至C#9和.NET5,很新了。




如果你有更好的书,也可以。


书怎么看?

1.前两章了解,学完知道怎么编写控制台程序,也就是怎么写Hello World。

2.后面几章是重点,讲语法,包括变量、表达式、数据类型、流程控制、函数、面向对象、类、集合、泛型。

3.后面是高级内容,可以先不学,也可以选学、有空再学,或者用到了再学。

4.简单学习一下Winform,会使用VS2022创建Winform程序,会拖控件。最简单的,双击控件就可以编写代码了。拖控件干什么?学会拖控件,你就可以发挥自己的想象力了,写个计算器、写个小工具等,我上学那会写过屏保(用VB写的,跟C#是一样的,书上可没有这个,就是发挥想象力,你想到个点子,自然就知道去研究怎么写),写过时钟程序,写过定时自动关机等。

然后

恭喜你!你已经入门了!这意味着什么,只要有公司要你,你就可以干活了!

可是、可是,公司做Web项目,我ASP.NET还没学啊?你只要会照葫芦画瓢,你就能干活了!

当你干了两天活之后,对于ASP.NET的学习,你是买书,还是看视频,随你便。

我以前就是这样入门的,那是十几年前了,现在太卷了。参与项目,才会学的更快。


如果你知道微软的文档怎么看,那更好

例如:


1.《C# 编程指南》 讲C#语法的,还不错

2.《.NET 文档》 讲实在的,对于新手来说,真没法看了,范围有点大,所以我说你知道怎么看最好,不知道以后再说。点击《使用 ASP.NET Core 创建 Web 应用》可以跳转到更具体的《ASP.NET 文档》

3.《ASP.NET 文档》 这个范围稍微小一点,主要讲Web API、ASP.NET Core MVC、Blazor等

4.《使用 ASP.NET Core 创建最小 Web API》 《使用 ASP.NET Core 控制器创建 Web API》 这个范围再具体一点,看完就可以写Web API了,这个有用


入门的关键点


1.学会基本的语法。(不会Lambda表达式不影响写C#代码,要学的话,先记住一种固定写法,几分钟就能学会)(例如我至今不太清楚"协变"与"逆变",但不影响我写代码,报错了,就说明这样写不行呗)

2.学会使用VS2022创建控制台应用程序和Winform应用程序。学会拖控件、设置控件属性和事件、调试。对于VS2022的使用,自己探索,反正都是汉化版的,多点点就行。

3.尝试写点小工具,最好能参与到项目中,不会就百度,百度时,搜索关键词一般是“C# XXX”、“Winform XXX”、“.NET XXX”、“.NET6 XXX”、“.NET Core XXX”。

4.ASP.NET Core MVC是有点复杂,学习需要点时间。ASP.NET Core Web API就可以很简单,可以先学这个。

.NET Framework 和 .NET Core

新手可以直接学习.NET Core,别管.NET Framework了


.NET官方自带的库

学完了语法,学会了如何创建控制台程序、Winform程序、Web API程序、ASP.NET Core Web程序,下一步就是实际工作了,最重要的就是学会各种库的使用。

当你创建一个工程,VS2022会帮你自动引入自带的库,主要是System开头,有的是Microsoft开头,文档:.NET API 浏览器,这个文档我没有正经看过,我都忘了自己是怎么学会的了,在工作中学的吧,我也只会其中比较常用的部分。


NuGet

NuGet 是免费、开源的包管理开发工具。https://www.nuget.org/


光有官方自带的库,是不够的,这就需要第三方开源库。NuGet是非常人性化的。

以Dapper这个ORM库为例:


1. 库的下载量、最近更新时间、最新版本号

搜索我们要安装的库,我们可以看到一些关键信息:下载量、最近更新时间、最新版本号,下载量大的库,一般都是主流的库,如果你看到一个库,下载量很小,那你要谨慎一点。



2. 库的当前版本支持的框架

可以看到这个库是在.NET 5.0、.NET Standard 2.0和.NET Framework 4.6.1框架下编译的(深色),可以看到支持(兼容)哪些框架及版本(浅色)



3. 库的依赖库

VS2022会自动管理依赖库以及它们的冲突,一般不需要手动处理。当然遇到冲突且无法自动解决的情况下,也有配置方法。



4. 每个版本的下载量、发布日期

这个很重要,很多年没有更新的库,你要谨慎一点。



5. 我的项目使用的是.NET Framework 4.5.2,这个库装不上怎么办?



点开1.60.6这个版本,这是net452框架能用的最新的版本了


aaf3b2008fca60dca7e2c96b09e61616.png


6. 库的安装



选择工程、选择版本,点击安装



网络异常,图片无法展示
|

7. 已安装的库

可以通过NuGet包管理器的"已安装"选项卡查看已安装的库,也可以工程文件中看到安装的库

这里依赖库、依赖库的依赖库,是没有列出来的,非常清爽


3f87eee4c6f84ebe92e0bc603e5ec2fc.png



出处:https://www.cnblogs.com/s0611163/p/17090611.html


相关文章
|
存储 Java C#
c#快速入门~在java基础上,知道C#和JAVA 的不同即可
c#快速入门~在java基础上,知道C#和JAVA 的不同即可
125 0
|
存储 网络协议 Java
C# 快速入门笔记
C# 快速入门笔记
C# 快速入门笔记
C#简单继承示例详解——快速入门
C#简单继承示例详解——快速入门
|
存储 C# 图形学
Unity游戏开发之C#快速入门
Unity游戏开发之C#快速入门C#是微软团队在开发.NET框架时开发的,它的构想接近于C、C++,也和JAVA十分相似,有许多强大的编程功能。个人感受是C#吸收了众多编程语言的优点,从中可以看到C、C++、Java、Javascript、python的影子,设计思想都是相通的(过段时间一定要看看设计模式),对比迁移地学习基本只需要记关键字、语法和包的用法。
1698 0
|
C#
【C#】WixToolset快速入门教程
原文:【C#】WixToolset快速入门教程 介绍 给windows系统做软件,常见的打包工具大家可能都听说过,如:大名鼎鼎的Installshield、Inno setup等。
2110 0
|
6月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
202 3
|
6月前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
199 3
|
21天前
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
30 3
|
2月前
|
API C#
C# 一分钟浅谈:文件系统编程
在软件开发中,文件系统操作至关重要。本文将带你快速掌握C#中文件系统编程的基础知识,涵盖基本概念、常见问题及解决方法。文章详细介绍了`System.IO`命名空间下的关键类库,并通过示例代码展示了路径处理、异常处理、并发访问等技巧,还提供了异步API和流压缩等高级技巧,帮助你写出更健壮的代码。
45 2
下一篇
无影云桌面