前言

我要开始学习C#,我打算用Unity制作游戏,没有C#就做不了Unity。

目标:游戏开发、后端开发

C#资料

C#我提供学习资料,这是《Visual C# 从入门到精通.第8版》,可以买纸质版,如需电子版,可以在下方链接下载,这个是我从脚本之家下载的。其中还有其他资源可以下载呀,如果对你有帮助给这个文章点赞即可。

链接:https://pan.baidu.com/s/1v6fOAFnN0sU753ynT7iO5w
提取码:gcub

简介

C#(C Sharp)是微软发明出来的一种由C和C++衍生出来的面向对象语言,C#运行在.NET Framework上和.NET Core上的高级程序设计语言。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

历史

  • 1998年12月,微软启动了一个全新的语言项目——COOL,这是一款专门为CLR设计的纯面向对象的语言,也正是本文的主角——C#的前身。
  • 1999年7月份,微软完成了COOL语言的一个内部版本。
  • 2000年2月份,微软才正式将COOL语言更名为C#。据说起这个名字是因为C#开发小组的人很讨厌搜索引擎,因此把大部分搜索引擎无法识别的“#”字符作为该语言名字的一部分;还有一种说法是在音乐当中“#”是升调记号,表达了微软希望它在C的基础上更上一层楼的美好愿望——当然这些都只是传说,无从考证。又是历经了一系列的修改,微软终于在2000年7月发布了C#语言的第一个预览版。

下面是通俗理解.NET Framework.NET Core是什么。

  • .NET Framework:C#编译器,不支持跨平台
  • .NET Core:C#编译器,支持跨平台

环境搭建

首先我们需要安装C#环境,如果你选择Visual Studio,可以不用配置,因为VS自带安装.NET 环境。

下面详细介绍:

Visual Studio搭建C#环境

建议不要用太老版本的VS,最好是2015及以上的版本,我用的是2019,首先打开Visual Studio Installer

打开之后,对你对应版本的VS点击修改,然后添加[.NET桌面平台开发](应该是这样)组件,勾上(至少要有.NET Framework的一个版本),安装就可以。

控制台搭建其他编辑器

如果你的电脑太差劲,带不动VS;或者你不喜欢用VS,只喜欢用轻便的文本编辑器——VScode、Sublime等,也可以呀。

那么,你得先有一个.NET Framework环境,现在最新版本是.NET Framework 4.8,可以去https://dotnet.microsoft.com/下载环境,最好用一个较新版本,如果有旧版也可以使用,下载安装结束之后,打开cmd或powershell,输入:

csc

只要没有弹出正常文字即可,如果报错说没有csc这个命令,看我在知乎的另一篇文章《控制台运行C#无法识别csc命令解决》。

如果没有异常,就是安装成功了。。。

再说一下,如果你不想用VS,但是你可以先让VS下载一个C#组件包,这样你不需要去官网下载,也不需要配置环境变量就可以直接使用csc了,同时可以将VS关掉。

我的推荐

设计C#我不建议使用VScode等,sublime、notepad++就更差劲了,如果C#的界面文件XAML怎么在VScode中查看?VS的集成性很强,所以开发C#用它非常棒,而且有打算制作Unity的人更得使用VS了。

第一个程序

C#代码是有分号的

先给代码:

using Systemnamespace TestHello
{class Program{static void Main(string [] args){Console.WriteLine("Hello World");Console.ReadLine();}}
}

运行:
————————————
output:Hello World
按下回车,结束程序
————————————
于是我们可以分析出Console.WriteLine("Hello World");这句话是输出,下一句是等待,就是让你Read这一行,叫ReadLine。

貌似这个程序懂了,但是前面都是啥呀,有一点懵,接下来………………

命名空间与引用——类似Python模块

 前面的例子只是很小的程序,但小程序可能很快变成大程序。程序规模扩大带来两个 问题。首先,代码越多,就越难理解和维护。其次,更多代码通常意味着更多类和方法, 要求你跟踪更多名称。随着名称越来越多,极有可能因为两个或多个名称冲突而造成项目 无法生成。例如,可能试图创建两个同名的类。如果程序引用了其他开发人员写的程序集, 后者同样使用了大量名称,这个问题将变得更严重。
 过去,程序员通过为名称添加某种形式的限定符前缀来解决名称冲突问题。但这并不 是好的方案,因为它不具扩展性。名称变长后,打字时间就增多了,还要花更多时间来反阅读令人费解的长名字。  命名空间(namespace)可以解决这个问题,它为类这样的项创建容器。同名类在不同命名空间中不会混淆。可是namespace关键字在TestHelo命名空间中创建Greeting类,如下所示:

namespace TestHello
{class Greeting{...}
}

然后在自己的程序中使用TestHello.Greeting引用Greeting类。如果有人在不同命名空间(例如 NewNamespace)中也创建了 Greeting类,并把它安装到你的机器上,你的程序仍能正常工作,因为程序使用的是TestHe1lo.Greeting类。另一名开发者的Greeting类要用NewNamespace.Greeting进行引用。

作为好习惯,所有类都应该在命名空间中定义, Visual studio2015环境默认使用项目名称作为顶级命名空间。.Net Framework类库(FCL)也遵循这个约定,它的每个类都在个命名空间中。例如,Console类在System命名空间中。这意味着它的全名实际是System.Console。当然,如果每次都必须写类的全名,似乎还不如添加限定符前缀,或者就用SystemConsole之类的全局唯一名称来命名类。幸好,可在程序中使用 using指令解决该问题。返回 Visual studio2015中的 TestEe1lo程序,观察“代码和文本编辑器”窗口中的Program.cs文件,会注意到文件顶部的以下语句

using System
using System. Collections. Generic
using System. Ling;
using System. Text
using System. Threading Tasks;

这些是using指令,用于将某个命名空间引入作用域。同一文件的后续代码不再需要用命名空间限定对象。由于这5个命名空间包含的类很常用,所以每次新建项目,Visual Studio2015都自动添加这些using指令。可在源代码文件的顶部添加更多using指令。

个人认为using指令和Python的import很相同,namespace和Python Package很相同。

客官,请留步⭐️

都看了这么久了,打字不易,点个免费的赞也可以吧

C#学习指北:大白话让你C#极速入门相关推荐

  1. 狼叔直播 Reaction《学习指北:Node.js 2022 全解析》

    大家好,我是若川.持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan02 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...

  2. D3.js学习指北--第二章,基础复习

    D3学习指北–第二章,基础复习 1.关于html的svg标签   html5里有很多个标签,但是关于D3的应用多用在一个标签上< svg >svg标签可以理解为一个绘画板,里面提供了各类的 ...

  3. ARM Neon Intrinsics 学习指北:从入门、进阶到学个通透

    本文同步发表于GiantPandaCV公众号,未经作者允许严禁转载 前言 Neon是ARM平台的向量化计算指令集,通过一条指令完成多个数据的运算达到加速的目的,常用于AI.多媒体等计算密集型任务. 本 ...

  4. 新手入门深度学习 | 第六篇:TensorFlow2 回调极速入门

    作者:K同学啊 本文选自:<小白入门深度学习> 配套实例教程:<深度学习100例> 文章目录 什么是 Tensorflow 回调? 如何使用回调? 如何设置早停? Lambda ...

  5. 0基础极速入门!深度学习高层API最强官方课程

    近年来,随着深度学习技术的飞速发展,基于深度学习方法的前沿研究与应用实践在学术界与工业界大放异彩. 但是,对零基础的技术小白而言,深度学习并不是一个友好的领域.晦涩的理论.冗长的代码.复杂的调试.鱼龙 ...

  6. 直播提醒 | 零基础深度学习极速入门课程重磅开营

    点击左上方蓝字关注我们 今日,立春,一候东风解冻,二候蛰虫始振,三候鱼陟负冰.「深度学习7日打卡营_极速入门课程」将于今晚正式开营! 深度学习作为人工智能的热门方向,吸引了无数同学争相学习.但是深度学 ...

  7. 计算机学习入门指北——计科软工网络信安侧重图析、解读专业术语、岗位分类、未来规划

    申明:本博文偏技术向,主观性较强,其中部分理解必有偏差和误解,望指出改正! 计算机学习入门指北: 作为刚入学的计算机系学生,面对一片专业术语十分蒙.区块链?大数据?开源?数据库?嵌入式开发?前端后端? ...

  8. Python 简单入门指北(二)

    Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...

  9. vue如何生成公钥私钥_百行Python代码演示1私钥生成多公链公钥原理。|区块链财富指北私钥篇(2)...

    <区块链财富指北>系列文章由NOCY.COM策划,肖南飞主笔撰写. 技术选型基于BOScore公链,旨在以有趣易懂的方式传播普及区块链技术,不构成任何投资建议! 学习之前说学习 今天这篇文 ...

最新文章

  1. 拍下首张黑洞照片的团队获300万美元奖金:2020年科学突破奖揭晓
  2. idea_pyspark 环境配置
  3. themeleaf跳转锚链接
  4. 《人脸识别原理及算法——动态人脸识别系统研究》—1章1.2节人脸识别相关学科的进展...
  5. springboot学习笔记(六)
  6. 怎么让手机变成震动器_详解iPhone 手机标配的两种技术:线性马达和3Dtouch,有多好用?...
  7. Error:Could not find appcompat-v7.aar (com.android.support:appcompat-v7:26.1.0). Searched in the fol
  8. 交换机发生网络通信故障问题时该怎么办?
  9. JEECG 版本更新日志
  10. 操作系统用户态内核态线程同步
  11. [UE4]虚幻引擎UE4如何制作可拖动(Drag and Drop)的背包(Scrollbox)(转载)
  12. 两WinForm和两WebForm传值
  13. docker打包informix镜像
  14. 理正深基坑6.0软件备忘录_梳理使用方法01
  15. 2021-02-24 bat 批处理教程
  16. 如何用一台普通相机拍照红蓝立体3D图片
  17. 机器学习(二)--- KNN(K-Nearest Neighbors)
  18. 微服务网关Gateway基本知识(一)
  19. CCRC信息安全服务资质申请流程详解
  20. Vue仿网易云PC端的网页

热门文章

  1. 面试知识点(C++)
  2. python中字体加粗_全网python中xticks字体加粗搜索-第二电脑网
  3. 印度之行(一) 印度是个很大的国家
  4. 质量小议8 -- 模版
  5. 美通企业日报 | 高交会新产品新技术发布活动将达70场;短视频招聘平台多面上线...
  6. 诉说一个站长屌丝20多年的点点滴滴
  7. 程序员必备五款浏览器插件
  8. 用于HART设备的工业物联网IIoT
  9. 针式PKM帮助九:如何收集网页
  10. 基于 session 的登陆