c#教程[1] 简介
本文初次发布于个人博客,建议去个人博客阅读。
前言
本系列教程是为了我在学校社团课使用而随手写的,因此可能有很多随意或不严谨的地方,而且随时有可能停更,请见谅。
因为高一学校的信息课学习 pyhton,因此默认读者有微弱的 pyhton 基础,故基础语法可能会讲的稍微快一些而且会与 pyhton 的语法进行比较。
简介
C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言。C#是一种由C和C++派生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性,使其成为C语言家族中的一种高效强大的编程语言。C#以.NET框架类库作为基础,拥有类似Visual Basic的快速开发能力。C#由安德斯·海尔斯伯格主持开发,微软在2000年发布了这种语言,希望借助这种语言来取代Java。[1]
第一个C#程序
大家先来看一个在VS2019里新建C#控制台应用生成的默认程序(代码中的 // 表示单行注释):
using System;
namespace ConsoleApp // ConsoleApp为命名空间(namespace)
{
class Program // Program是一个"类"(class)
{
static void Main(string[] args) // Main方法
{
Console.WriteLine("Hello World!"); // 输出语句
}
}
}
让我们看一下上面程序的各个部分:[2]
程序的第一行 using System; - using 关键字用于在程序中包含 System 命名空间。 一个程序一般有多个 using 语句。
下一行是 namespace 声明。一个 namespace 里包含了一系列的类。命名空间包含了类 Program。
下一行是 class 声明。类 Program 包含了程序使用的数据和方法声明。类一般包含多个方法。方法定义了类的行为。在这里,Program 类只有一个 Main 方法。
下一行定义了 Main 方法,是所有 C# 程序的 入口点。Main 方法说明当执行时 类将做什么动作。
Main 方法通过语句
Console.WriteLine("Hello World!");指定了它的行为。WriteLine 是一个定义在 System 命名空间中的 Console 类的一个方法。该语句会在屏幕上显示消息 "Hello World!"。
最后一行
Console.ReadKey();是针对 VS.NET 用户的。这使得程序会等待一个按键的动作,防止程序从 Visual Studio .NET 启动时屏幕会快速运行并关闭。
大家可能会觉得,这样比在 python 中输出 "hello world" 要繁琐很多,这样的设计看似没有必要,但实际上在大型的项目里能展现出它的优势[3]
简单的来说,命名空间包含类,类包含方法。
大家目前只需要注意一下 Program 类和 Main 方法。
在 C# 中方法的概念与其他语言中函数的意思区别不大,大家可以理解成函数。
而类的真正概念我们会在以后再讲。
Main 方法被包含在 Program 类中,而我们的程序总会从 Main 方法开始执行。
在语句 Console.WriteLine("Hello World!"); 中, Console也是一个类,而 WriteLine() 则为 Console 类中的一个方法,中间的 . 表示访问 Console 类中的成员[4],此处访问的即为该类中的WriteLine() 方法。
大家可以注意到一个有意思的现象,我们的 Main 方法也是被包含在一个类中的。事实上,在 C# 中方法的声明一定在一个类的内部。
因为我们目前只看主函数部分,所以以后会将上面那段代码写成如下的形式:
using System;
Console.WriteLine("Hello World!"); // 输出语句
事实上,这样类似 python 的代码是 .net5.0 中的新特性:顶级语句。这样的程序在 .net5.0运行时 是可以通过编译并正常运行的。
来自维基百科 ??
来自菜鸟教程 ??
这样的设计是基于一种叫做面向对象(OOP)的编程思想,C#和Java都是面向对象的编程语言,pyhton也支持面向对象 ??
其学名为成员访问运算符 ??