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

C#学习指北:大白话让你C#极速入门_第1张图片

前言

我要开始学习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 System

namespace 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#,c#,编程语言,namespace,visual,studio,microsoft)