zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【C#基础】初识编程语言C#

2023-09-27 14:26:35 时间
序号系列文章
-【算法】C#实现经典排序算法总结
-【数据结构】C#实现常用数据结构总结
-【学习资源】C#初学者学习资源推荐
-【教程】 .Net环境和开发工具Visual Studio的安装

前言

在学习C#之前,我们需要准备好编程所需要的编译环境.Net开发工具Visual Studio的安装,在这里可以参考笔者之前写的一个教程:.Net环境和开发工具Visual Studio的安装


一. C#语言介绍

C#(读作"See Sharp")是由微软团队开发的一种新式编程语言,不仅面向对象,并且类型安全。 开发人员利用C#能够生成在.NET中运行的多种安全可靠的应用程序。 C# 源于C语言系列,C、C++、Java和JavaScript程序员很快就可以上手使用。

列举C#语成为一种广泛应用的专业语言的原因:

  • 现代的、通用的编程语言
  • 面向对象
  • 面向组件
  • 结构化的
  • 自然的语言
  • 性能高效的
  • 跨平台的
  • 高度兼容.Net平台

同时,微软开发团队在对C#的不断更新中也加上了许多强大的功能,多项C#功能有助于创建可靠且持久的应用程序,其中包括但不限于:

  • 垃圾回收机制(Garbage collection mechanism),垃圾回收自动回收那些不可访问的未使用对象所占用的内存,可以防范为 null 的类型不引用已分配对象的变量。
  • 异常处理(Exception handling),提供了一种结构化且可扩展的方法来进行错误检测和恢复。
  • Lambda 表达式(Lambda expressions)和语言集成查询 (LINQ) ,支持了函数式编程技术,创建出了一个公共模式,用于处理来自任何源的数据。
  • 异步操作语言(Asynchronous programming),支持提供用于构建分布式系统的语法。
  • 统一的类型系统(Uniform type system),所有 C# 类型(包括int和double 等基元类型)均继承自一个根object类型。所有类型共用一组通用运算。任何类型的值都可以一致地进行存储、传输和处理。
  • 支持自定义的引用类型和值类型、允许动态分配轻型结构的对象和内嵌存储、支持泛型方法和类型、提供迭代器,使集合类的实现者可以定义客户端代码的自定义行为。

最后,C#强调版本控制,以确保程序和库以兼容方式随时间推移而变化。

二. .NET平台介绍

.NET是一个免费的跨平台开放源代码开发人员平台,用于生成多种类型的应用程序。.NET基于许多大规模应用在生产中使用的高性能运行时构建而来。而C#则是用于生成面向.NET环境的代码,用C#编写的源代码被编译成符合CLI规范的中间语言 (IL),执行C#程序时,程序集将加载到CLR(公共语言运行时)。CLR会直接执行实时 (JIT) 编译,将IL代码转换成本机指令。

语言互操作性是.NET的一项重要功能。.NET支持下列各种语言:C#、F#、Visual Basic、C++等等。这些语言都可以访问.NET平台,生成的IL代码符合公共类型规范(CTS)以支持它们彼此之间可以互相交互。

借助.NET能帮您编写出下面类型的应用程序:

  • 云应用:云原生应用、控制台应用、云中的无服务器函数、Web应用、Web API和微服务。
  • 跨平台客户端应用: 桌面应用、游戏、移动应用。
  • Windows应用:Windows桌面应用:Windows窗体、Windows WPF、通用Windows平台(UWP),Windows服务。
  • 其它应用类型:机器学习、物联网(IoT)

除了运行时服务之外,.NET还包含大量库。这些库支持多种不同的工作负载。 它们已整理到命名空间中,这些命名空间提供各种实用功能。 这些功能包括:

  • 文件输入输出
  • 字符串控制
  • XML分析
  • Web应用程序框架
  • Windows窗体控件

典型的C#应用程序广泛使用 .NET类库来处理常见的"管道"零碎工作。

三. Hello,World

"Hello, World"程序历来都用于介绍编程语言,下面我们就可以用C#写出我们第一个"Hello, World"程序:

using System;

class Hello
{
    static void Main()
    {
        Console.WriteLine("Hello, World");
    }
}

"Hello, World"程序详细的解释:

  • "Hello, World"程序始于引用System命名空间的using指令。命名空间提供了一种用于组织C#程序和库的分层方法。命名空间包含类型和其他命名空间。例如,System命名空间包含许多类型(如程序中引用的 Console 类)和其他许多命名空间(如 IO 和Collections)。
  • 借助引用给定命名空间的using 指令,可以非限定的方式使用作为相应命名空间成员的类型。由于使用using指令,因此程序可以使用Console.WriteLine作为System.Console.WriteLine 的简写。
  • "Hello, World"程序声明的Hello类只有一个成员,即Main方法。Main方法使用static修饰符进行声明。实例方法可以使用关键字this引用特定的封闭对象实例,而静态方法则可以在不引用特定对象的情况下运行。按照约定,Main静态方法是C#程序的入口点。
  • 程序的输出是由System命名空间中Console类的WriteLine方法生成,此类由标准类库提供。默认情况下,编译器会自动引用标准类库。

结语

以上就是编程语言C#和.NET平台的介绍以及写出第一个C#程序,希望能够对大家有所帮助。请大家多多支持,大家一起学习C#,你们的支持就是笔者创作最大的动力!