精华内容
下载资源
问答
  • 学习经历
    千次阅读
    2019-07-29 14:04:38

    前言

    我于2017.4接触编程,今天是2019.7.29。论接触时间,大概有2.25年了。

    今天想跟大家聊一聊,我这两年的学习经验。

    正文

    2017.11我正式入职一家公司,做web前端实习生。那个时候的我掌握的技能非常有限,只会一些简单的html、css、javascript、jquery。由于之前的学习是有人手把手带的,导致完全没有自学能力,正确来说,是没有自学思维。而在灵溪的那段经历,培养了这种可贵的思维。

    培养自学思维

    入职第一天,我的主管给了我一个叫less的语言,是 一种css预处理的语言。在没有任何教导的情况下凭借着有限的css知识观看了less官方文档,只学会基本的嵌套规则。跟实习生同事交流中发现,他们也都只学到了嵌套规则。当时几个人一起讨论了一会儿,发现可以用less代替css,就像这样。

    .less{
        .inter{
            color:red
        }
    }

    当时极度舒适,感觉自己又掌握了一门语言。

    主管过来观察我们的学习情况时,点了点头,表情无任何变化。离开时,留了句话:好好学,路程才刚刚开始。

    事后感悟

    后来我才知道,当时我们懂的太少了、思考的太单一,只能发现less可以用来简写css,没有发现less的其他能力,例如简写、变量。因为对less的特性了解的不多,导致思考方向变得局限,也第一次明白了积累的重要性,并得出一个结论:举一反三不是因为聪明,而是因为有了积累


    轮播插件的故事

    不久之后,主管要求我封装一个轮播插件,要求的技术栈是jquery、效果是只传入几个值,轮播效果就能正常运行。当时的我不管遇到什么问题,都会直接找实习生同事帮忙。同事也不愿意手把手的教我,通常都会直接给我一份代码,叫我回去自己看。在观看同事传递过来的轮播插件代码时,总是能遇到一个又一个的难题,由于不知道如何正确的使用搜索引擎,一直傻楞在那里——看不懂呀!这里的$是什么东西啊...

    一脸难过,又不好意思再问同事,极度崩溃...

    内心独白

    我为什么什么都不会干?

    他们为什么这些东西一看就会?

    是不是他们有什么老师?

    可是没有人教他们啊

    等下,我记得我之前看过他们百度找资料?

    这是不是就是那个神秘老师呢?

    于是我尝试着百度

    但是我输入的关键字没有任何合适的内容

    完全崩溃...

    但心里的骄傲不允许自己再次认怂

    于是继续百度

    直到第6次

    终于找到适合jQuery封装的基础教程

    才终于入门

    对这件事的感悟

    后来我发现这就是自学的过程。不断的思考,以有限的知识来思考未知的领域,稍有见地,就去学习。学习别人成熟的体系、不成熟到半成熟的成长经历。多使用搜索引擎,多思考,哪怕感觉是错的,也要先坚持坚持,因为沿途的数据,就是思考的最佳材料。


    程序生涯的重大选择

    在2018年7月份左右,由于已经掌握了微信小程序开发和vue全家桶的基础业务开发,遇到了很关键的心理战。

    用半年的时间学习了最新的技术,是不是可以放松一下了?

    毕竟走的比别人快了,不是吗?

    可是别人还在不停的努力,放松怎么行?

    你想想,你现在把前端的知识学完了,那明年学什么?学Java还是php?

    之前得到的信息就是三年前端才有资格学后端,你想违背常规吗?

    也对呀,要不放松一下?

    等下,真的就没有人不停的努力,但在沿途中一直学到新的东西吗?难道html、css、js的世界就那么小吗?

    你没看见很多有5,6年开发经验的程序员,水平跟你差不多吗?

    可是那些,奋斗5,6年的程序员真的在不停的努力吗?

    人家是程序员,工作的组成就是学习!

    估计是学完了!

    不,我想试试,我赌我不停的努力,会不断学到新的东西​​​​​​​​​​​​​​

    对此次心理战的感悟

    后来发现赌对了,之前存在信息差,开发过5~6年的程序员,基本都是中层管理;但有些所谓的5~6年,真的就是搬砖搬了5~6年。当时我选择放松,很容易在日后的职场生涯里中被淘汰。


    尾声

    兄弟们一起加油,未来会更好!

    更多相关内容
  • Java 学习经验

    2017-12-20 09:58:54
    Java 学习经验 在开发的过程中,我们可能会遇到很多棘手的问题,但是这些问题可能先人已经处理过,而且处理的很好,模式就是先人总结的经验,站在先人的肩膀上可以使我们看的更远。
  • 这是一款关于城市规划专业学习经验和心得体会的word文档,适用于个人演讲、学习规划、毕业感言、论文摘要等方面使用,欢迎大家下载使用!该文档为城市规划专业学习经验和心得体会,是一份很不错的参考资料,具有较高...
  • 程序员的VC++学习经验谈,各类问题的回答与解析。 如: 学 VC 我认为有以下要点; 1. 要对 win95 操作系统的特点了解。如:多任务,消息映射等。 2. 面向对象的设计特点,即类,需要学好C++。 3. 对 MFC也要有一定的...
  • 问卷由不限成员名额的问题组成,涵盖了使用VP案例的学生的学习经历。 演绎内容分析的重点是学生的学习经历。 结果表明,使用VP案例可以全面了解患者,并鼓励学生拓宽思路,并帮助他们得出结论和构造问题解决方案。 ...
  • 分享大学个人经历
  • All sections to appear here 架构师成长之路 个人学习经验分享 周金根 2010/1/12 不断学习学习 内容 ? 经历的不同阶段 ? 个人的一些工作方式和心得 ? 内容较多不能全部细讲会推荐一些书籍 ? 尽量不涉及具体技术 ...
  • 研究生学习经历

    千次阅读 2019-01-13 21:48:41
    总结:这是某学长的研究生三年的学习过程。自己学了很多基础知识,但是没有用到实处,缺乏项目经历,应该主动参加比赛。 github:https://github.com/altmanWang/altman.github.io      ...

     

    总结:这是某学长的研究生三年的学习过程。自己学了很多基础知识,但是没有用到实处,缺乏项目经历,应该主动参加比赛。

    github:https://github.com/altmanWang/altman.github.io

     

     

     

    展开全文
  • 大学四年软件工程专业的学习经验总结

    千次阅读 多人点赞 2019-07-19 08:44:15
    但是毕竟是对学习历程的一个回顾,虽然有体会夹在其中,但是更像是一个故事,经验、反思分布不够集中,所以今天想抛开经历,对自己的学习经验做一总结和反思;虽然算不上技术大佬,但是对编程也算略有思考和感悟。.....

    大学四年软件工程专业的学习经验总结

    说在前面

    前段时间,在大学四年软件工程专业的学习回顾里,总结了四年的学习路程,从C到C++、到Java、面向对象、设计模式、到C#、Unity、WPF以及PHP、微信公众号、微信小程序等各方面,我都有涉猎;但是毕竟是对学习历程的一个回顾,虽然有体会夹在其中,但是更像是一个故事,经验、反思分布不够集中,所以今天想抛开经历,对自己的学习经验做一总结和反思;虽然算不上技术大佬,但是对编程也算略有思考和感悟如果对大家的专业学习、职业规划能有一点微小的帮助,我就觉得很开心啦~。

    目标全栈

    坦白的说,我为自己设定的目标就是成为一名“全栈”工程师。为啥是“坦白”呢?因为大家对“全栈”的理解似乎略有不同,为了避免遭到“攻击”,不表态似乎是最好的选择。但是,我选择坦白,并不是为了从宽。试想,连自己的追求都不敢说出来的人,又怎么有实现它的勇气和毅力呢?

    在V2EX上有一个何为全栈的讨论,基本上覆盖了大家对“全栈”的所有认识吧: 全栈=全干、只懂皮毛、一瓶水不满,半瓶水晃荡、打杂;甚至有的V友以追求“全栈”为耻; 当然,也有V友认为,全栈意味着能力——将Idea转化为Product的能力、意味着自由——不需要求人写前端或者后端、意味着控制——前后端融会贯通,一脉相承;

    我自然是支持和认同后者的,但是并不反对前者,因为前者说的就是事实。甚至和以前自己的情况十分吻合——只懂皮毛;

    兼听则明,偏信则暗。有一本书叫做:《Web全栈工程师的自我修养》,正是这本书让我意识到我在追求全栈的道路上,走偏了合理的全栈之路应该是“一专多长”。而自己不知不觉之间,走向了它的反面;

    走偏,是说路没走好,并不是说终点选错了。这让我觉得我还能再抢救一下,这也是我选择读研的主要目的——不是为了学历,而是我需要时间重新回到正确的道路上来,学校无疑比公司更能给我时间;

    我相信,走到“一专多长”反面的人,不会只有我一个,否则,大家怎么会对全栈有“只懂皮毛”的认识呢?对于此,我承认“只懂皮毛”是所谓“全栈”的常见形态,但是这是全栈的“半成品”啊,是不能代表“完整形态”的全栈的;就像斗破里的焚决,刚开始是黄阶低级的功法,但是它的完整形态会厉害,对不对?只是需要时间进化嘛;另外也希望走在“错误”道路上的人,及时止损,为“全栈”正名;

    所以,第一条经验便是:如果追求“全栈”,请务必规划好发展道路,切莫弄巧成拙、浅尝辄止,成为他人“笑柄”;“一专”后方可某“多长”;可参考做法有:

    1. 选择一门语言,做到精通,然后开始学习与其所处地位相对的其他语言;比如,先做到Java精通,然后了解HTML等前端语言;
    2. 选择一个方向,做到精通,然后开始其他方面的学习;比如,先做到前端精通,然后学习后端相关知识;

    百炼成钢

    “一块再普通的铁,经过千百次锤炼,也有机会成为一块好钢”。

    开学第一天,我们院长在欢迎仪式上为我们计算了一个式子:200*365*4=284800。就是说,如果每天写200行代码,那么大学4年,代码量就会达到近28万行;虽然,从代码量上来衡量技术水平就和从代码行数来评估软件质量一样不可取,但是,也说明了编程学习中动手的重要性:28万行代码至少说明,自己对代码的感觉不会很差、动手能力不会很低;

    但是,需要注意的是,“学而不思则罔,思而不学则殆”

    学习语言的过程中,离不开抄写代码;如果在抄写代码的时候,没有对代码的思考,那么实际上就没有任何收获——无非是手动版的“CV大法”,不但没有效果,还没有效率;实在是万万不可取的做法;相反,如果在抄写代码的时候,能够思考当前代码的功能、前后代码的逻辑关联以及为什么如此关联,甚至预测接下来可能出现的代码,这样代码不但从手中走了一遍,还从心中走了一遍,既练习了手感,也增强了理解,一举两得;

    大一上的寒假里,我从图书馆里借了一本关于C++的实验课书籍,然后对着书,将上面所有的代码过了一遍。很幸运,那本书的质量也很不错,回想起来,其封面一眼看上去就让人很舒服,如此看来,选择学习书籍也是讲究缘分的(跑远了)。特别是在指针的那一章中,敲代码的过程中让我对指针以及链表的逻辑有了更深的理解;那种恍然大悟的感觉,在仅仅学习理论描述的过程中是不会出现的。可以说,手敲代码时的思考就是为了那“恍然大悟”的一刻。

    所以,第二条经验便是: 手敲代码不可避免,务必让代码从手中经过的同时,在心中也过一遍; 可参考的做法有:

    1. 多思考:为什么当前代码块如此组织?当前代码有什么功能,它用到了那些语言特性?
    2. 建立清晰的逻辑结构:代码前后之间的逻辑关联是什么样的,它是怎么完成的?

    道术结合

    道,就是理论,是规律;术,就是实践,是技巧;

    当代码量积累到一定程度的时候,可能会遇到所谓的瓶颈,此时“抄代码”已经无法带来显著的提高,也就是在术的层面遇到天花板。这个时候,可以选择在道的层面扩展——要么扩展广度,要么扩展深度;

    通过目标全栈一节,建议向深度扩展,如果一味扩展广度,很有可能就会走进“多而不精”的错误道路;我在基本掌握了C++语法后,就没有再继续往深处探索,而是转向了Java。(贪心一时爽,面试火葬场);

    简单学习了《整洁代码之道》后,我第一次意识到自己并没有养成什么好的编码习惯;所以,接下来的一段时间里,我把学习的目标转向了设计模式,从变量命名等细微之处入手,改变编程习惯,从而希望能更加优雅地组织代码;

    虽然,刚开始学习的时候,因为没有多少实际项目的经验,理解起来很难,但是硬着头皮学习完一遍后也有了初步的理解;此时,再写代码时,就会发现那种“限制感”已经很淡了:理论的加持,使得实践过程更加流畅;

    当然,道的层面的学习也会遇到“瓶颈”,此时就要靠术的扩展来打破天花板啦——参与实际项目的开发、加入开源社区等都是不错的选择;

    所以,第三条经验便是:道术结合——理论同实践相结合,相互支持,共同提高; 可参考的做法有:

    1. 理论方面的学习内容:设计模式、编码规范、JVM原理、经典框架、源码、多线程、高并发、分布式架构、微服务等;
    2. 实践方面的内容:独立完成小项目、参与规模较大的商业项目、参与开源社区、维护开源项目等;

    保持输出

    计算机系统完成的主要任务可以抽象为:接收输入、存储、计算、输出结果;我们的学习过程也应该是这样;

    实际上《如何高效学习》一书中,将高效的学习过程分为如下几个环节——获取、理解、拓展、纠错、应用和贯穿这五个步骤的测试

    所以,缺少了应用,只包含获取、理解的学习过程,是不完整的,自然效率也很低;对于编程来说,也是一样:获取是选择我们将要学习的内容、理解算是输入、扩展和纠错相当于计算和存储,而应用则属于输出;

    通过“输出”,我们可以检测自己的对“输入”的掌握程度,可以加深我们对知识的理解,建立更加清晰的知识结构和长久的记忆;

    所以,第四条经验便是: 持续输入,保持输出,留下曾学习过的痕迹; 可参考的做法有:

    1. 写总结博客;
    2. 做一些与当前学习内容相关的小项目;

    学习方式

    对于学习内容来说,只有想不到,没有找不到;整体上来说,学习资源大体可以分为:视频、电子书、纸质书、交互式学习网站等;

    学习方式因人而异,适合自己的就是最好的;当我学习一项新知识的时候,我会选择:首先是学习视频,然后学习纸质书,接下来是电子书和网站内容。

    首先选择视频是因为视频教学往往很精炼,不利于掌握细节,但有助于建立一个大局观,对知识有一个较为全面、系统的了解,这样在深入学习的过程中,就不会有“迷失”在知识海洋里的感觉;当然,也不排除讲解和细致的视频课程,比如慕课网的实战课程一般都比较细致和深入。只是自己学习新内容时会先建立一个粗略的整体框架,然后再不断完善,此时讲解细致的视频反而不利于目标的实现;

    选择纸质书,算是个人偏好吧,可能习惯了阅读纸质书吧,毕竟9年义务教育阶段里都是纸质书,所以对纸质书有一种莫名的信任;另外,阅读电子书也比较容易分神,费眼(讲的好像玩手机不费眼一样的);

    学习完纸质书,基本上知识体系结构就已经建立了;在巩固所学知识的过程中,比较喜欢电子书——携带方便、查找方便;而又不会长时间阅读,所以分神、费眼等缺点也就可以忽视啦;

    值得一提的是网站内容,这里泛指一切互联网上的发布的文字学习资料,比如前人总结的博客、官方提供的文档,尤其是需要注意的是后者;**不管视频还是纸质书或者电子书,亦或是前人总结的博客,终究是别人加工过的输出!**它们或多或少总会有着个人的特点,不再那么“纯粹”,而最纯正的“输入”,便是官方提供的文档啦。

    官方提供的文档,理解起来不会像其他形式的学习资料一样顺畅,甚至阅读起来也会存在一些问题,毕竟还是英文文档角度,而翻译过后的文档本质还会他人的输出,是经过加工的,但是,他保持了知识原来的模样,如果要深入理解一项技术,学习官方文档是不可或缺的步骤;甚至比阅读源码还重要!

    除了注意官方文档的重要性外,还需要注意的是书籍、视频教学内容的滞后性。也就是说,对于已经长久存在的技术、知识的学习,遵循上述的流程,倒也没有多大的问题,但是对于掌握最新的知识、框架来说,这条路却是走不通的!

    因为,没有前人的经验可供参考,因为自己就是前人! 此时也就更能体现官方文档的重要性;

    我们总会有做“第一个吃螃蟹的人”的时候,这很好,也很值得期待。所以对于大佬来说,一上来就学习官方文档反而是最有价值的途径,但是这需要积累经验,需要技术积累;怎么积累经验呢?自然就是多学习、巧学习、多思考、多积累啦;

    所以,第五条经验就是:选择适合自己的学习方式,重视官方文档的学习,提高学习能力,升级学习方式; 可参考的做法有:

    1. 提高英文阅读水平;多阅读官方文档;
    2. 学习之前,谨慎挑选学习材料,做对的事比把事情做对更重要(个人见解);

    自成一脉

    学习能力,不是天生的,是需要培养的;而这一能力只有在不断的学习实践中才能得到提高和锻炼;即学习过程和学习能力是相辅相成的关系:学习能力需要在学习过程中得到锻炼和积累,学习能力反过来又会促进学习过程。如果只是进行学习过程,而不注意提高学习能力,那么二者之间的关系就被割裂,长久下去,前途堪忧;

    如何更好滴在学习过程中锻炼学习能力?如何利用学习能力促进学习过程?个人拙见是:遵循基本法,体现知识的力量。《如何高效学习》就是一本关于如何学习的书籍,我们一直在进行学习活动,去从未学习过如何学习,是不是有一点讽刺?

    所谓“遵循基本法”,就是说按照经过长期实践检验、有科学依据的学习方法进行学习活动; 我们应该学会站在巨人的肩膀上,然后把自己也变成一个巨人;

    所谓“体现知识的力量”其实和前面的“基本法”在本质上是一致的,就是说应该充分利用有关专家潜心研究的结果,奉行“拿来主义”,指导我们的学习活动;。我们没有必要事必躬亲,有合适的理论,拿来用就好了嘛;

    有了关于学习的合适的理论指导,再展开学习活动,必然事半功倍;

    问题来了,这样的理论在哪里?它适合个人的“人情”吗?前者的话,就我个人来看,《如何高效学习》这本书就很不错啦,也欢迎大家在评论中推荐;后者的话,就只能是骡子是马拉出来遛遛,看到底溜得动还是溜不动啦;

    另外,磨刀不误砍柴工,但是能不能把刀磨好,也是一个需要注意的问题; 我的建议是:磨刀一定要彻底。否则的话,不但把刀给废了不说,还误了砍柴工。这里所说的不彻底就是对于一个理论,如果决定要贯彻,就100%接受,当然可以根据个人情况微调,但是枝干不能给废了。比如人家说有六大步骤,结果我们只做到了其中的三个,并且没有做自己的完善,效果就可能不如人意了。90%的六次方小于60%,就是这个道理;

    当我们不断提高学习能力(别心急,时间是必要的元素;耐下心,半途而废还不如不出发呢)后,学习新的知识就会手到擒来;只是在我们的学习能力形成战斗力之前,我们还得耐得住寂寞,守得住初心;

    所以,第六条经验就是:在学习过程中注意培养学习能力,使用学习能力反哺学习过程; 可参考的做法有:

    1. 注意学习、积累、总结关于提高学习能力的科学知识;
    2. 不断实践,在实践中检验理论;

    成也萧何败也萧何

    大学四年,所得并不尽如人意:成绩方面,不拔尖;编码方面,不突出。不过,个人喜欢写代码甚于考高分(嗯,假装自己能考高分);

    如果说,有什么出彩的地方(强行找优点,hhh),那就是平衡吧:我没有因为对技术的喜爱而放松对成绩的要求。这使得我希望毕业后直接就业,而面试情况并不理想时,退一步拿到了保研的资格,为自己争取到了两年时间,让我有机会弥补“全栈”道路上的决策失误;但是,换个角度,也许正是因为我心分两用,才导致了直接就业的希望泡汤;从另一方面来看,这简直就是“多而不精”在学习成绩和编程技术两个方面的又一体现啊!(我:很不厚道地大喊:“全栈误我”!“全栈”:这个锅我不背!);

    不过这也算是职业规划,乃至人生规划方面的小失误吧。不过,塞翁失马,焉知非福?事在人为嘛。

    那么有没有两手都要抓,两手都很强的大佬?当然有,而且就在我身边。说不羡慕吧,那是假的;说羡慕吧,到也谈不上;因为,该走的路,不还得由自己一步步走吗?

    所以,第七条经验就是: 华山派,你到底站剑宗还是气宗?或者全都要? 可参考的做法有:

    1. 博主的前车之鉴;

    说在最后

    接下来的时间里,我会修正自己在大学期间所犯的关于“全栈”的错误;希望自己的“血泪”教训能为大家提供前车之鉴,自己的一些微小经验可以帮到大家~

    展开全文
  • 我的 C# 学习经验分享

    千次阅读 2022-04-06 16:57:48
    .NET 20 周年的学习挑战赛刚结束了第一阶段, 不知道各位小伙伴参加了没有 ? 有人问现在学习 C# 是不是有点过时 ? 也有人问现在 C# 能做什么 ?更有人问学习 C# 能否找到工作 ? 或者你从不同的专家 ,不同的从业...

     .NET 20 周年的学习挑战赛刚结束了第一阶段, 不知道各位小伙伴参加了没有 ? 有人问现在学习 C# 是不是有点过时 ? 也有人问现在 C# 能做什么 ?更有人问学习 C# 能否找到工作 ? 或者你从不同的专家 ,不同的从业者可以有不同的答案 。但我更关心一个比较基础而且对更多人希望得到解答的问题 - 如何学习好 C# 。 我是一名 .NET 老兵 , 虽然我的技术栈不断拓宽 , 但从来没有放弃 C# 。 希望利用该文章 , 和大家分享一些 C# 学习心得。

    学习环境

    早期学习 C# , 相信大家都喜欢去 Windows 安装 Visual Studio 或者基于 mono 在 macOS / Linux 下安装 MonoDevelop IDE 。 但 .NET 开源后, 学习 C# 就不仅可以在 Windows , 还可以在 macOS / Linux 下进行学习 , 开发的环境除了 Visual Studio 外 ,还增加了 Visual Studio Code , 还有像第三方的 JetBrains 的 Rider IDE 等 。 实际上学习编程语言除了这些 IDE 外 , 我建议大家使用 REPL 或者 .NET Interactive 来学习 C# , 更为有效 。

    REPL

    什么是 REPL

    REPL(发音 “REP-UL”)是一种编程语言与计算机对话的交互式方式。早期应用在 Python 中, 现在很多编程语言都支持 REPL。 实际上 REPL 做了四个步骤:

    1. Read - 读入用户的输入代码(如输入的 C# 语句)。
    2. Evaluate - 评估输入代码(检查语法 / 了解代码意思)。
    3. Print - 打印执行结果结果。
    4. Loop - 继续交互, 循环 1,2,3 步的工作。

    在早期 , 我用过最好的 .NET REPL 是Xamarin 的 Workbooks 。 它不但可以运行 C# 的代码 ,也可以写一些如 Xamarin for iOS , Xamarin for Android , Xamarin Forms 等效果 , 也可以引入一些第三方库实现一些效果。这对于初期开发 ,和跨平台移动应用原型开发有很多的帮助 。

    要在 .NET 使用 REPL , 你可以使用第三方的 REPL 工具 , 在终端执行以下命令

    dotnet tool install --global dotnet-repl

    安装成功后,在终端下输入以下命令就可以进入 REPL 环境了

    dotnet repl

    进入后,你可以在里面输入任意代码块,来完成运行

    当然你也可以在 REPL 内通过 nuget 增加相关的第三方库/包进行测试 , 如 ImageSharp

    如果你不喜欢用命令行的方式 ,介绍一个官方的工具 .NET Interactive , 它是非常好用的 .NET 体系下的 REPL 交互式可视化工具。你可以通过在 Visual Studio Code 中安装 .NET Interactive Notebooks插件 。(如果你希望了解更详细的安装方法,以及使用可以阅读我之前写的这篇文章 .NET Interactive环境介绍) 

    Lambda 和 LINQ 是 C# 的语法之美

    每个语言都有各自的优缺点 , 和各自的应用场景 , 传统的类型表示, 条件 / 循环语句 , 还有类型描述 , 每个语言都有 ,但 C# 我觉得最优雅的地方是 Lambda 表达式 和 LINQ。 这也是我非常推荐入门的小伙伴精读的内容。
     

    Lambda 表达式

    Lambda 表达式是一小段代码,它接受参数并返回一个值。 Lambda 表达式类似于方法,但它们不需要名称,并且可以直接在方法体中实现。 C# 在 2.0 的版本上,已经支持了 Lambda 表达式 , 比很多编程语言都要早。

    C# 中的 Lambda 表达式与匿名函数一样使用,不同之处在于,在 Lambda 表达式中您不需要指定输入值的类型,因此使用起来更加灵活。 ‘=>’ 是用于所有 lambda 表达式的 lambda 运算符。 Lambda表达式分为两部分,左边是输入,右边是表达式。

    表达式 lambda,表达式为其主体:

    (input-parameters) => expression

    如:

    语句 lambda,语句块作为其主体:

    (input-parameters) => { <sequence-of-statements> }

    如:

     如果您打算在代码中使用 LINQ,那么 Lambda 表达式将是您最喜欢的伙伴。 帮助您将代码逻辑包装在更少的行或内联中。

    LINQ 语言

    LINQ 是一系列直接将查询功能集成到 C# 语言的技术统称。LINQ 也是在 C# 2.0 中诞生 , 应用在 SQL 数据库、XML 文档、以及各种 Web 服务中。 借助 LINQ,查询成为了最高级的语言构造,就像类、方法和事件一样。

    如:

     我个人比较喜欢用 LINQ to SQL 的语法, 节约了不少写 T-SQL 语句的时间

    using (AdventureWorksEntities context = new AdventureWorksEntities())
    {
        IQueryable<string> query = from p in context.Products
                                   where p.Name == "Reflector"
                                   select p.Name;
    
        IEnumerable<bool> q = query.Select(c => c.EndsWith("Reflector "));
    
        Console.WriteLine("LINQ to Entities returns: " + q.First());
        Console.WriteLine("CLR returns: " + "Reflector".EndsWith("Reflector "));
    }

    学会使用 NuGet

    NuGet 是 .NET 的包管理器。 NuGet 客户端工具提供了生成和使用包的能力。 NuGet 库是所有包作者和使用者使用的中央包存储库。你可以通过 NuGet 下载很多不同场景的包进行应用 。

    像一些小伙伴,在直播提到的爬虫 , 这里就可以利用 Nuget 通过第三方的包 Abot (了解更多请访问 GitHub - sjdirect/abot: Cross Platform C# web crawler framework built for speed and flexibility. Please star this project! +1.)来完成

    怎么写好 C#

    每一个编程语言 ,都有自己的编写规范, 也是评价好的代码的标准 。 在官方有非常好的编码规则建议大家阅读(C# 编码约定 | Microsoft Docs), 这对写好 C# 的代码非常有帮助 , 你也可以多看看 GitHub 上的开源项目, 也会有很大帮助。


     

    后记

    新一代的 .NET 很吸引 , 涵盖了多个应用场景 。 C# 作为非常重要的 .NET 编程语言,  也是大家入门的必修课 。 希望大家通过该文章能掌握好学习 C# 的一些工具 , 编程技巧以及相关的要点 。 当然我也希望各位继续参加 .NET 20 周年的学习挑战赛 - ASP.NET Core 开发 。


     

    相关学习资源

    1. C# 学习 C# 文档 - 入门、教程、参考。 | Microsoft Docs
    2. C# Lambda 表达式 Lambda 表达式 - C# 引用 | Microsoft Docs
    3. C# LINQ 表达式 C# 中的语言集成查询 (LINQ) | Microsoft Docs
    4. NuGet 相关知识 NuGet 文档 | Microsoft Docs

    展开全文
  • Halcon深度学习目标检测例程学习经验(1)Halcon深度学习目标检测例程学习一、可视化二、Set Parameters 设置参数三、设置输入输出路径四、读取标注后的图像,并分割数据集五、根据数据计算模型参数六、数据集预处理...
  • 完整经历画过程 深度学习经验.pdf
  • 嵌入式Linux——学习经历

    万次阅读 多人点赞 2018-10-31 10:43:31
     本文主要介绍我学习嵌入式的经历。并结合自身的经验希望可以对大家有所帮助。 视频及教材:  郭天祥相关视频及教材,天狼星相关视频及教材,野火迷你相关视频及教材以及韦东山100ask官网所介绍的视频及教材 ...
  • Open CV 学习经验总结

    万次阅读 多人点赞 2015-09-16 22:48:52
     下面我说下我学习 Open CV 的一点心得。  首先是看书,一般而言,书上的知识相对系统一些。这里推荐我觉得比较好的两本书,一本是 (清华于仕琪 刘瑞祯 译) ,这本书不仅仅是介绍Open CV,更多的系
  • 学习经历与求职经历分享

    千次阅读 2017-09-28 10:07:11
    2.BRYAN的学习经历和求职经历分享 3.学习资料分享 https://tianchi.aliyun.com/competition/new_articleDetail.html?spm=5176.8366600.0.0.1686543adgkJAe&raceId=&postsId=2801 ppt:
  • 觉得自己的学习方法有问题,学的非常迷茫,也可以跟我进行交流,这是我的V:xzsj06,我强烈推荐大家加上面的Java学习群,对于个人的提升非常大,有很多大佬帮忙解决问题,能得到很多学习经验和建议。
  • 一位资深前端工程师总结的前端学习经验

    万次阅读 多人点赞 2016-08-26 16:45:43
    为了帮助新入行的小白快速走向技术人生的巅峰,这里分享一篇资深前端工作师总结的前端学习经验。  这里主要讲的是自学,网站开发开发大致分为前端和后端,前端主要负责实现视觉和交互效果,以及与服务器通信,...
  • 这是一个用于记录学习经验的博客

    千次阅读 2022-01-12 14:31:49
    从2020年入学至今,也学习到了一些相关的知识与经验。过去都是通过word的方式记录进展与经验。从今天起我也想尝试通过博客的方式继续记录今后的学习过程,并对过去的经验进行整理与总结。 已接触过的项目与算法 ...
  • 有一些学习心得和避坑经验和大家分享,希望对已经入门和准备入门的零基础朋友能有些帮助,少走点弯路。 1.信心 首先,对于python初学者最大的困难是什么?就是不自信,否定自己,在心理上设障碍,觉得一个个编程代码...
  • 学习robodk的时候觉得要抓紧时间学习这个软件,笔记做得比较少,但是在做工作总结的时候才发现不知从何开始写起,只能记住最近几章的内容。 总而言之,哪怕是大概做个思维导图,简介一下这章讲了什么也好,一些...
  • 深度学习经历过程(caffe学习过程)

    千次阅读 2016-09-09 15:54:19
    深度学习记录 一、 第一阶段:基本知识的学习 小菜是从2016年6月初开始接触强大而神秘的Deep Learning,之前一直在学习传统的机器学习学习DL之前,所接触的DL也就是每次参加从实验室的组会,听师姐汇报一些DL的...
  • 如何学习C#,过程,经验七如何学习C#,过程,经验七如何学习C#,过程,经验七如何学习C#,过程,经验
  •   我根据自己过往的学习经验,及现在对于Java技术了解、掌握的情况,整理出这篇文章。看完之后,希望能帮你解决: 1、根据自己的情况找到适合自己的学习资料。 2、正确的学习路径,避免学的时候出现大量知识断层。...
  • 愿安全人不再踩坑,网络安全学习经验

    千次阅读 多人点赞 2021-05-24 13:25:40
    回想学习网络安全一年来,踩了不少坑走了不少弯路,在此稍作总结,希望可以帮助那些想要入门 web 安全或者是想打CTF的同学们一些建议 坑点 先总结一下,我在学习中遇到的坑点 只看视频,眼高手低,不练习,不总结 ...
  • 【机器学习经验风险最小化与结构风险最小化

    万次阅读 多人点赞 2018-11-11 21:58:12
    当样本容量足够大时,经验风险最小化能保证有很好的学习效果。比如,极大似然估计(就是经验风险最小化的一个例子,当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。 但当...
  • 我的Quartus – Signaltap的学习经历

    千次阅读 2020-06-30 10:15:25
    我的Quartus – Signaltap的学习经历 1.认识Signaltap SignalTap II 是一款功能强大且极具实用性的FPGA片上debug工具软件,它集成在altera公司提供的FPGA开发工具Quartus II中。可以捕获和显示实时信号(Modelsim中...
  • 学生在网络环境中的成功似乎与学习者的特征和与信息和通信技术的使用相关的经验密不可分。 鼓励越来越多的在职教师通过使用这些技术来继续教育。 这项研究调查了55位在职教师使用在线/混合学习方法进行研究生学习的...
  •   深度学习是机器学习领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能。   深度学习学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据...
  • android应用层学习经验

    千次阅读 2014-01-15 14:53:37
    做android开发有一段时间了,从一个完全没接触过android的开发者,到慢慢熟悉android常用API以及能顺利开发一般技术含量的应用,一路走来,csdn的博客记录见证了这一切,结合自己经历学习andro...
  • 这是由于查找表存储和更新Q值时需要在离散状态空间开始强化学习,当状态的数量增大,这一问题将愈发难解; 有关状态空间离散化的粒度;较低的粒度将使得Q-learning泛化能力较弱,高粒度又将可能导致状态数量呈指数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,209,099
精华内容 483,639
关键字:

学习经历