[编程开发] 如何一周内入门C#?

[复制链接]
attribt 发表于 2023-10-8 02:25:00|来自:中国 | 显示全部楼层 |阅读模式
我知道一周内学不来太多东西,但恳请各位前辈,大神赐教。有c/c++/ java皮毛
全部回复5 显示全部楼层
龙一品 发表于 2023-10-8 02:25:30|来自:中国 | 显示全部楼层
看了一下问题日志,这个问题是2017年提的,时隔六年之久【笑哭】

一直以来C#没有特别好的教程。我知道有《C#入门经典》、《图解C#》、《C#高级编程》、《C#本质论》……等等畅销书。
但是,从初学者角度说,这些真的算不上入门的好书。某初学者的原话是:不说人话。
包括微软MSDN的文档,资料也大都集中在新功能、某个特性的解释上面,并没有循序渐进的引导式教程。
那视频资料呢?
比较经典的有刘铁锰老师的《C#语言入门详解》等等,口碑挺好。但是作为小白入门,相信被劝退的人不在少数(见下下图)。





咱们的学习群里也有过来人

我认为,C#没有特别好的入门学习资料,主要有两点原因:
1、★ C#太简单了,不需要特意入门

是的,你没有看错……其实现在略懂一点C/C++、Java、Python的人很多,在有一点编程基础的前提下,C#这玩意仔细看看也能看懂。
好多Unity教程没怎么讲过C#直接就做项目、写脚本,结果学生照葫芦画瓢,做完以后竟然也能理解个七七八八。
不得不说C#还真简单,或者说不难。
2、现有的C#教程大都以知识体系为主线,没有考虑设计0基础的学习路线

C#的知识体系,与我们学习的顺序,可能是完全无关的~~
举个例子,C#和Java一样,整体都是基于面向对象设计的,面向对象是C#的基础。
那么,初学者第一课应该学面向对象、class、object吗?
刘铁锰老师就是从class开始讲的。而我的教学经验告诉我……从class开始学习效果并不好。
原因很简单,一开始学面向对象没法实践~~~要想实践,最好从 Console.WriteLine("Hello world!")、int a=1+1、float b = a + 0.1f 这些基本语句开始,写连续的代码。
有了过程式语法,就能写很多有含义的程序,比如 打招呼、交换变量、石头剪刀布等等。
过程式程序未必是程序的基础,但却是学生必走的大门。
这就和小学生学算数一样,算数可能不算是真正的“数学”,但是咱们每个人对“数学”的理解都是从算数开始的,甚至是从1数到100开始的。
我想解决的问题

如果单纯为了讲课而讲课,只需要把C#大纲列出来,按顺序讲就行……但是这样做并不是正确的学习路线。
作为编程和游戏开发技术的传播者,我想解决的问题是——如何满足大量小白用户0基础入门编程的需求。
这个零基础是真正的零基础:对计算机完全没有概念,甚至连电脑的基本操作都不熟悉。
但是,编程小白也可以对编程有好奇心。只要有好奇心,就完全有可能学会、学好。
小白最怕的是看不懂、学不会、一写就错。那我能不能出一套真正无障碍的C#编程小课呢?折腾了几个月,发现还是可以做到的。
扯了这么多,广告放在最后。我做了一套《C#编程与Unity开发》的0基础课,链接在这:
哔哩哔哩_bilibili

这个课有多基础呢?这么说吧,就是小心翼翼的、一点一点的吸引你入门,把稍微有难度的地方都删干净了,保证前15课你不会有障碍(当然如果真有问题可以提问)
配上课程笔记、精心设计的作业题,主打一个哺乳式学习【笑】
相信有很多人和题主一样,想要一周快速学习C#,如果恰好你真是0基础用户,不妨看看这套课程  :)
山东大牛 发表于 2023-10-8 02:25:52|来自:中国 | 显示全部楼层
对于题主所说的:“有c/c++/ java皮毛”,凡是语速则不达,入门C# 7天时间真的够嘛?
看了一下问题日志:


问题是2017年6月23日提出的,不知道4年过去了,题主是否还在从事C#相关的开发,这一点我还挺好奇的, @空调请开24度 !
题主应该还在知乎


闻道有先后,术业有专攻!
先说说C#可以做什么吧?
1.WEB端的商业软件:金蝶、用友的财务软件,还有一些大型ERP,还有一些互联网公司的网站,一般比较少,例如知名的stackoverflow。
2.移动应用:这个就更少了,可以使用xamarin开发ios、android原生应用
3.桌面应用:windows forms或wpf框架做一些***管理系统。
4.游戏:u3d技术包括。
如何一周内入门C#?对于题主所问的“入门”究竟如何定义?
入门定义1:是掌握基础的语法、数据类型、运算符能做一些计算?例如解决以下的计算问题:
输入一个正整数,求1!+2!+3!+...+n!。利用for循环嵌套。
找出100以内与7有关的数并打印,并求出他们的和。利用for循环+if。
百元百鸡问题
有一列数1,1,2,3,5,........求第30个数
请编写一个函数,能够计算10以内数的阶乘,尽量采用递归算法。
请将字符串"I am a student"按单词逆序输出 如"student a am I"
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
如果入门仅仅定义如此的话,我觉得每天8-10个小时,可以挑战一下!其余这三个定义,如果是7天的话我感觉一般人难度实战太大了,即使有c、c++的皮毛基础!
入门定义2:在控制台做一些增删改查?
入门定义3:用winform做一些增删改查?
入门定义4:用webform或mvc用一些增删改查?
1.C#需要学习的知识点

基础知识点:
数据类型、类型转换
字符串(String)、结构体(Struct)、枚举(Enum)、数组(Array)
变量、常量、运算符、判断、循环、方法
面向对象:类、C# 继承、C# 多态性、封装、C# 运算符重载、C# 接口(Interface)
预处理器指令、正则表达式、 异常处理、 文件的输入与输出
进阶知识点:
特性(Attribute)、 反射(Reflection)、属性(Property)、 索引器(Indexer)、委托(Delegate)、事件(Event)、 集合(Collection)、 泛型(Generic)、 匿名方法、 不安全代码、C# 多线程
这里推荐菜鸟教程:C# 教程 | 菜鸟教程
本教程将告诉您基础的 C# 编程,同时将向您讲解 C# 编程语言相关的各种先进理念。
非常适合0基础的c#初学者,从开发环境的安装到基础的语法,都可以从中学习!
当然你也可以选择微软官方教程:C# 文档 - 入门、教程、参考。
2.书籍推荐

这里我是不建议新手学习C#直接看书的!
看书学习编程,往往会起到副作用,容易引起枯燥无味的感觉!
入门之后可以看看书籍,查缺补漏倒是一个不错的选择!
1.C#入门经典(第八版)



作者:[美] Karli Watson/Jacob Vibe Hammer/Jon
C#入门经典(第8版) (豆瓣)
介绍编程基础知识,如变量、流程控制和面向对象编程;着重介绍初学者在编写C#程序时最常用的工具:阐述调试和错误处理;详细讲解集合、比较和转换,探讨C#语言的新增功能;
2.深入理解C#(第3版)



豆瓣评分高达9.1,5星58.2%、4星34.2%,深入理解C#(第3版) (豆瓣)
作者:Jon Skeet,谷歌软件工程师,微软资深C# MVP,拥有10余年C#项目开发经验。自2002年以来,他一直是C#社区、新闻组、国际会议和Stack Overflow网站上非常活跃的技术专家,回答了数以万计的C#和.NET相关问题。
这本书主要为那些已具备一定的C#编程经验的开发人员而编写。和其他的编程手册相比,这本书的结构虽然简单,但很新颖。
身为一个开发者,一定要了解并发编程,才能称为高级程序员,这本书写的很好,很严谨细致,同时又很简单明了,没有多余的废话,介绍的都是c#编程中的并发编程的干货,这本书不是很厚,便于阅读,没一页介绍的都是精华,所以想成为高级开发的话可以买这本书看一看
3.C#图解教程



原作名: Illustrated C# 2012,Fourth Edition 译者: 姚琪琳 / 苏林 / 朱晔
豆瓣评分 9.3 ,5星59.4%、4星36.3%,C#图解教程 (豆瓣)
本书是广受赞誉的C# 图解教程的最新版本。作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式、朴实简洁的文字,并辅以大量表格和代码示例,全面、直观地阐述了C# 语言的各种特性。比如异步编程、调用者信息、case 表达式、带参数的泛型构造函数、支持null 类型运算等。
4.深入浅出WPF



豆瓣评分8.6,5星62.6%,4星28.7%,深入浅出WPF (豆瓣)
作者:刘铁猛,拥有逾十年微软平台软件开发、测试经验。先后在多家知名外企工作,积累了深厚稳固的技术基础,目前担任微软(美国)下载中心项目组高级软件工程师。
《深入浅出WPF》的内容分为两大部分。第一部分是学习WPF开发的基础知识,包括XAML,语言的详细剖析、WPF控件的使用、用户界面布局的介绍。第二部分是作为优秀WPF程序员所应掌握的知识,包括依赖对象和数据关联、路由事件与命令、数据模板与控件模板、绘图与动画等。
5.C#本质论(第4版)



豆瓣(C#本质论 (豆瓣)):总评份:8.3分,有39%的读者给出了满分的评价,其中四星评价有:51.2%.
作者:Mark Michaelis,微软Visual Studio MVP,现任Itron公司企业架构师,并在著名顾问公司Pluralsight担任导师。他是广受尊敬的资深C#专家,曾经受邀担任C#和VSTS等多个微软产品的软件设计审查顾问。
亚马逊:计算机与互联网类书籍销量排名:第172位
这里给大家整理好了,书籍的下载地址,有需要可以下载。一份C#必读书籍清单!
3.学习视频

慕课网的《C#开发轻松入门》
C#教程_c#入门视频教程-慕课网
简介:本门课程是C#语言的入门教程,在课程中,将从.NET平台和C#的基本概念开始,深入的介绍C#开发的基础语法、简单程序逻辑、Visual Studio工具的使用技巧以及常用的算法的实现。
同时视频中还会有相关的练习题和编程练习,帮助小伙伴们快速步入C#语言的大门。
4.其他入门学习资源

掌握上面这些基础知识,可以尝试使用winform或者控制台做一些增删改查的demo,不能提升编程能力
平时在学习的过程中,收集了不少winform的资源。


包含了控件操作、图像操作、报表打印、系统操作、文件处理、网络操作、数据库操作、加密解密、硬件读写、游戏设计......
二维数组的声明、创建和使用,控件对象,对象的背景、大小等属性;分支、循环流程控制语句;方法、List 集合等基本知识,几乎囊括了 C#基础编程的所有知识点,整个项目案例做下来,在做中学,学中做,不知不觉就掌握了winform中所有的知识点;
此案例又具备趣味性,能提升学习的兴趣,兴趣是最好的老师!
winform 游戏:贪吃蛇


winform游戏:俄罗斯方块


winform游戏:华容道


winform游戏:五子棋


还有一些控制台游戏,可以巩固一下C#基础语法知识!
在控制台里,我们可以通过彩色的文字、背景、空格,来表现出比较抽象的场景。掌握了这个方法,我们就可以尽情发挥想象,做出各种各样的游戏了。而且麻雀虽小五脏俱全,制作控制台游戏有助于我们对游戏整个流程有完整的掌控
1.炸弹人游戏


游戏规则:
1.请切换成英文输出法; 2.WSAD移动,空格埋雷; 3.杀光所有怪物进入门内即可胜利; 4.π为门,Ω可以增加威力,ξ可以增加人物移动速度,炸开草坪后即可获得;
2.回合制战斗游戏:拳愿阿修罗


3.限制级小游戏:僵尸危机
7岁以下观众要求有父母或承认陪同观看——该级别的游戏包含成人内容,里面有较多的性爱、暴力、等场面和脏话。


游戏大概规则:
游戏中僵尸跟盒子生成速度会越来越快,女人不变。 胜利条件:杀死100只僵尸 || 干死10个女人。 更多玩法跟菜单游戏中自行摸索。 源代码内容过于露骨。 开始游戏按Enter
4. 经典游戏:俄罗斯方块


5.闯关类的游戏:魔塔


6. 诛仙剑


7.除了这些,还有一些经典的游戏扫雷、俄罗斯方块、2048、贪食蛇等等
一些经典的小游戏都可以在控制台上实现,我就不再贴图了!
已经给大家打包好了:大量Winfrom游戏、学习案例+控制台游戏
最后说三点过来人经验:

一个程序员能坚持不求人,自己解决问题,能做到这一点,他的未来不会太差。
很多时候,我们自认为自己是初学者,所以潜意识里认为求助他人是应该的。其实这是借口,或者说你潜意识里不够勇敢,不够自信,不相信自己能解决问题。但你殊不知道,你每求助一次他人,你自己就浪费了一次学习和深入学习知识的机会;也浪费了一次培养自己编程思维的机会。
C# 给了你更高的起点,但是不要让 无知与懒惰 成为你技术的顶点。
xinlaide 发表于 2023-10-8 02:26:30|来自:中国 | 显示全部楼层
你这个入门的门槛在哪里?是知道几个流程语句,还是能写一个小项目呢?所以我想说的是,干就完了,但行好事,莫问前程!
magic886 发表于 2023-10-8 02:26:46|来自:中国 | 显示全部楼层
我也是个刚毕业的菜鸟,工作中会用到一些基础的C#知识点,当然还没有能力去指导别人怎么学,这里只是和大家分享下我在学习中总结的一些知识框架,具体内容如图片。
既然你问到怎么入门C#,我前几天在看《软技能:代码之外的生存之道》这里面介绍了十步学习法,我觉得很不错就总结了下,你可以在我主页的文章里看到,或者直接去看原书,这样收获更多。
因为有人想要无水印的高清图,一下是图片的百度网盘链接。
链接:https://pan.baidu.com/s/1d-iPyR75ojbp0os7whd7YA
提取码:ig33



lovess217 发表于 2023-10-8 02:27:18|来自:中国 | 显示全部楼层
今年早些时候想写个小游戏,C++ winAPI画GUI不太好搞,就改成C#,屏幕左半边google,右半边VS,三天写成了......

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则