【C#】认识C# (为了游戏开发 O(≧口≦)O)

简介: 【1月更文挑战第26天】【C#】认识C# (为了游戏开发 O(≧口≦)O)

 

image.gif编辑

目录

开发环境配置:

C# 语言介绍:

C# 语言特性:

.NET 体系结构:

Hello World:


开发环境配置:

       在这里,我将不再讲述C# 开发环境配置,有需要的同学可以参考我的这篇博文:


按照惯例,官方文档扔脸上:

       为什么每次都要要把官方文档发布出来?因为,官方必定是最权威的,虽然我的大部分内容是参考官方文档,在加上自己的理解,但是我的知识和技术水平有限,没办法能做到对一个新技术的理解十分深入,所以将官方文档贴出来,一是方便大家查看,节约大家去找文档时间;二是肯定有大佬不屑于看我这个菜鸡废话,给我一个三连就去看官方文档了,那我服务必须到位是吧?

       那么,让我们开启学习C#的大门吧!


C# 语言介绍:

       C#(读作“See Sharp”) 是基于.NET平台运行的一门新式编程语言,不仅面向对象,还类型安全。(我学习这门语言的目的是Unity开发必须的脚本语言......)

C# 语言特性:

       对于学习过C++或者Java的同学,我相信上手C# 是十分简单而且快速的,因为大部分的语法特性几乎一致......

    • C# 是面向对象的、面向组件的编程语言。
    • 垃圾回收自动回收不可访问的未用对象所占用的内存。 可以为 null 的类型可防范不引用已分配对象的变量。
    • 异常处理提供了一种结构化且可扩展的方法来进行错误检测和恢复。 Lambda 表达式支持函数编程技术。
    • 语言集成查询 (LINQ) 语法创建一个公共模式,用于处理来自任何源的数据。
    • 异步操作语言支持提供用于构建分布式系统的语法。
    • C# 有统一类型系统。 所有 C# 类型(包括 intdouble 等基元类型)均继承自一个根 object 类型。 所有类型共用一组通用运算。 任何类型的值都可以一致地进行存储、传输和处理。
    • C# 还支持用户定义的引用类型值类型。 C# 允许动态分配轻型结构的对象和内嵌存储。
    • C# 支持泛型方法和类型,因此增强了类型安全性和性能。
    • C# 可提供迭代器,使集合类的实现者可以定义客户端代码的自定义行为。
    • C# 强调版本控制,以确保程序和库以兼容方式随时间推移而变化。 C# 设计中受版本控制加强直接影响的方面包括:单独的 virtualoverride 修饰符,关于方法重载决策的规则,以及对显式接口成员声明的支持。

    .NET 体系结构:

           C# 程序在 .NET 上运行,而 .NET 是名为公共语言运行时 (CLR) 的虚执行系统和一组类库。 CLR 是 Microsoft 对公共语言基础结构 (CLI) 国际标准的实现。 CLI 是创建执行和开发环境的基础,语言和库可以在其中无缝地协同工作。

           用 C# 编写的源代码被编译成符合 CLI 规范的中间语言 (IL) IL 代码和资源(如位图和字符串)存储在扩展名通常为 .dll 的程序集中。 程序集包含一个介绍程序集的类型、版本和区域性的清单。

           执行 C# 程序时,程序集将加载到 CLR。 CLR 会直接执行实时 (JIT) 编译,将 IL 代码转换成本机指令。 CLR 可提供其他与自动垃圾回收、异常处理和资源管理相关的服务。 CLR 执行的代码有时称为“托管代码”。而“非托管代码”被编译成面向特定平台的本机语言。

           语言互操作性是 .NET 的一项重要功能。 C# 编译器生成的 IL 代码符合公共类型规范 (CTS)。 通过 C# 生成的 IL 代码可以与通过 .NET 版本的 F#、Visual Basic、C++ 生成的代码进行交互。 还有 20 多种与 CTS 兼容的语言。 单个程序集可包含多个用不同 .NET 语言编写的模块。 这些类型可以相互引用,就像它们是用同一种语言编写的一样。

           .NET 还包含大量库。 这些库支持多种不同的工作负载。 它们已整理到命名空间中,这些命名空间提供各种实用功能。 这些功能包括文件输入输出、字符串控制、XML 分析、Web 应用程序框架和 Windows 窗体控件。 典型的 C# 应用程序广泛使用 .NET 类库来处理常见的“管道”零碎工作。

    image.gif编辑


    Hello World:

           “Hello, World”,入门到放弃必经之路:

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

    image.gif

           “Hello, World”程序始于引用 System 命名空间的 using 指令。 命名空间提供了一种用于组织 C# 程序和库的分层方法。 命名空间包含类型和其他命名空间。例如,System 命名空间包含许多类型(如程序中引用的 Console 类)和其他许多命名空间(如 IOCollections)。 借助引用给定命名空间的 using 指令,可以非限定的方式使用作为相应命名空间成员的类型。 由于使用 using 指令,因此程序可以使用 Console.WriteLine 作为 System.Console.WriteLine 的简写。

           “Hello, World”程序声明的 Hello 类只有一个成员,即 Main 方法。 Main 方法使用 static 修饰符进行声明。 实例方法可以使用关键字 this 引用特定的封闭对象实例,而静态方法则可以在不引用特定对象的情况下运行。 按照约定,Main 静态方法是 C# 程序的入口点。

           程序的输出是由 System 命名空间中 Console 类的 WriteLine 方法生成。 此类由标准类库提供。默认情况下,编译器会自动引用标准类库。


           OK,这一篇文章,主要是概述了C#的语言特性,编辑了Hello World 代码,了解一下C#。后面将继续学习更多C#相关的技术知识,大家加油!!!

    image.gif编辑

    相关文章
    |
    6月前
    |
    存储 开发框架 .NET
    【C#】C# 基础语法与游戏开发
    【1月更文挑战第21天】【C#】C# 基础语法与游戏开发
    |
    3月前
    |
    图形学 C# 开发者
    全面掌握Unity游戏开发核心技术:C#脚本编程从入门到精通——详解生命周期方法、事件处理与面向对象设计,助你打造高效稳定的互动娱乐体验
    【8月更文挑战第31天】Unity 是一款强大的游戏开发平台,支持多种编程语言,其中 C# 最为常用。本文介绍 C# 在 Unity 中的应用,涵盖脚本生命周期、常用函数、事件处理及面向对象编程等核心概念。通过具体示例,展示如何编写有效的 C# 脚本,包括 Start、Update 和 LateUpdate 等生命周期方法,以及碰撞检测和类继承等高级技巧,帮助开发者掌握 Unity 脚本编程基础,提升游戏开发效率。
    75 0
    |
    存储 C# 图形学
    Unity游戏开发之C#快速入门
    Unity游戏开发之C#快速入门C#是微软团队在开发.NET框架时开发的,它的构想接近于C、C++,也和JAVA十分相似,有许多强大的编程功能。个人感受是C#吸收了众多编程语言的优点,从中可以看到C、C++、Java、Javascript、python的影子,设计思想都是相通的(过段时间一定要看看设计模式),对比迁移地学习基本只需要记关键字、语法和包的用法。
    1695 0