Unity C#编程基于《C#高级编程第12版》——C#基础

这篇具有很好参考价值的文章主要介绍了Unity C#编程基于《C#高级编程第12版》——C#基础。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C#基础


编程中的一种抽象的数据类型(用于表现存储数据的类型)。用于描述一组具有相同属性和行为的对象(例如:狗、猫、鸡羊可看作是一个对象,狗的属性可以是名字、花色、体重,行为可以有吃东西,跑步)。
通过类可以方便的实例化出相同类型的对象(前面举例的狗可以实例化出名字:小白,花色:白色,体重:50kg),并达到重复使用的效果。类还具有面向对象编程的三大特性的操作,封装继承多态。

命名空间
用于在程序中创建范围。通过命名空间,我们可以避免名称与其他部分代码发生冲突,从而更好地组织和管理代码。在一个命名空间内,我们可以定义变量、函数、类等,这些名称在命名空间以外无法直接访问,需要使用命名空间限定符来访问。命名空间在许多编程语言中都有实现,例如C#、Java、C++等。

1.1 顶级语句

C#9中新增了叫顶级语句的语言特性。创建简单的应用程序时,无需书写类命名空间和Mian()方法声明。直接书写代码就被称之为顶级语句。在引入命令空间System后,可以直接使用Console类。

using System;
//这是开启的第一段代码 
//使用控制台Console类调用静态方法 在控制台打印出一段话
Console.WriteLine("Hello World!,你好世界");

1.2 变量

C#提供了声明和初始化变量的不同方式。变量也是一种数据类型,有一个类型和一个随着时间可能会发生改变的值。

using System;
//1、变量的声明(固定类型)
string s1 = "Hello World!";				//字面量声明
string s2 = new string("Hello World!");	//实例化声明
//2、在C#3引入支持类型判断的var关键字 
var s3 = "Hello World!";				//可通过右侧值得类型推断出左侧类型
//3、在知道左边类型的情况侠 可以直接使用new() 
//可以在书写类成员减少代码量
string s4 = new("hello world!");

1.3 变量的作用域

变量的作用域就是可以访问该代码的具体区域。作用域会遵守以下规则

  • 只要类在作用域内,其字段(成员变量)也在作用域内。 在类作用域中两个方法都可以直接使用成员变量。
//动物类
public class Animal
{
	//访问修饰符 (特殊修饰符) 变量类型 变量名 = 最基本的成员变量
	//名字	
	private string _name;
	public string Name => _name;
	//颜色
	private string _color;		
	public string Color => _color
	
	//奔跑
	public void Running()
	{
		//$""可以将变量方便的嵌入字符串中 类似于c语言中的占位符打印
		//c语言 int i = 0; scanf("\n", i);
		//$"开头{变量名}结尾"
		Console.WriteLine($"名叫{name}颜色{color}的动物在奔跑");
	}
	
	//吃
	public void Eat()
	{
		Console.WriteLine($"名叫{name}颜色{color}的动物在吃东西");
	}
}
  • 在到达声明局部变量的块语句或者方法的右花括号之前,局部变量都在作用域内。可以看到定义在方法内部的变量无法在另一个方法中直接访问,这种变量也被称为局部变量,两个speed可以重名因为他们在不同作用域当中。
//动物类
public class Animal
{
	//奔跑
	public void Running()
	{
		//奔跑速度
		float speed = 10f;
		Console.WriteLine($"一只动物在以{speed}的速度奔跑");
	}
	
	//吃
	public void Eat()
	{
		//想直接访问Runing方法中的speed会报错:Console.WriteLine($"{speed}");
		float speed = 5f;
		Console.WriteLine($"一只动物在以{speed}的速度吃东西");
	}
}
  • 还有一种比较特殊的 for、while或者类似语句中声明的局部变量的作用域是该循环体内部。
//动物类
public class Animal
{
	//奔跑
	public void Running()
	{
		//一次跑10圈
		//for语句是让花括号内语句重复执行 for(索引;循环判断条件;索引变化) 也可以自由变换for()内的值 这里不做深入 
		for(int i = 1; i <= 10; i++)
		{
			Console.WriteLine($"跑了{i}圈");
		}
		
		//可以看到这里for中又一次定义了变量名为i的变量
		//但因为不在一个作用域中所以不会报错 上面for循环中的i 与下面的i也不是同一个变量
		for(int i = 10;i >= 1; i--)
		{
			Console.WriteLine($"这里的i值:{i}")
		}
	}
}

1.4 常量

在写代码时会出现一些从来不曾也不需要改变的值,可以将其定义成一个常量。会使用到一个关键字const
被const定义的变量出现的每一个地方,编译器都将使用常量值替换它。

//这里面的值不会发生改变
const int a = 100

这个局部字段每次出现时,编译器都会把它替换为它的值。在版本变化时,如果在库中声明了一个常量,在应用程序中使用该常量,就需要重新编译应用程序来使用新值,否则可能会发生值不相同。可能还需要考虑到在版本变化时也不会改变的值才去使用const关键字
常量的特点:文章来源地址https://www.toymoban.com/news/detail-816611.html

  • 常量必须在声明时初始化。制定了其值后,就不能改写。
  • 常量的值必须能在编译时计算出来。因此不能使用变量值初始化常量,只有只读变量可以但也不推荐。
  • 常量总是隐式静态的,但不同于Java语言在c#语法中,不必(实际不允许)在常量声明中包含修饰符static。
    使用常量的好处
  • 使用更易理解的名字替代了不会更改的字符串,使其更加容易理解
//需要读取的文件地址
const string LOAD_PATH = "C/test/test1.txt";
  • 常量更容易避免程序出现错误。如果在声明常量的位置以外的某个地方将值赋给常量,编译器会标记错误。
    只读变量:如果一个实例的某些值在初始化后就不会再发生改变,那么就可以使用readonly字段声明只读。
//动物类
public class Animal
{
	//又是老朋友动物类
	//名字	
	private readonly string _name;	//不会再发生改变的值
	public string Name => _name;
}

到了这里,关于Unity C#编程基于《C#高级编程第12版》——C#基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#高级编程 Linq介绍

    本文对C#高级编程部分的Linq查询进行介绍 目录 一、Linq起源 二 LINQ 操作组成 2.1数据源 2.2查询 3.3查询执行

    2024年02月11日
    浏览(29)
  • 【深入浅出C#】章节 9: C#高级主题:多线程编程和并发处理

    多线程编程和并发处理的重要性和背景 在计算机科学领域,多线程编程和并发处理是一种关键技术,旨在充分利用现代计算机系统中的多核处理器和多任务能力。随着计算机硬件的发展,单一的中央处理单元(CPU)已经不再是主流,取而代之的是多核处理器,这使得同时执行

    2024年02月11日
    浏览(39)
  • C#等高级语言运行过程

    C#等高级语言运行流程: 假设您编写了一个 C# 程序并将其保存在一个称为源代码的文件中。 特定于语言的编译器将源代码编译成 MSIL(Microsoft 中间语言),也称为 CIL(通用中间语言)或 IL(中间语言)及其元数据。元数据包括程序的每个功能的所有类型、实际实现。MSIL 是

    2024年02月13日
    浏览(27)
  • 【深入浅出C#】章节 5: 高级面向对象编程:泛型编程和集合类型

    高级面向对象编程是在基础面向对象编程的基础上进一步深入和拓展的一种编程范式。它强调封装、继承和多态的概念,并引入了泛型编程和集合类型等高级特性。高级面向对象编程提供了更灵活、可扩展和可复用的代码结构,能够帮助开发者构建更复杂、更高效的应用程序

    2024年02月16日
    浏览(34)
  • 【C#基础】C# 面向对象编程

    序号 系列文章 5 【C#基础】C# 运算符总结 6 【C#基础】C# 常用语句讲解 7 【C#基础】C# 常用数据结构 😊大家好,我是writer桑,前面一章已经学习了 C# 中的常用数据结构,那本章就开始学习 C# 程序中面向对象编程的知识,希望看完大家能够有所收获,感谢支持! 面向对象编程

    2024年02月04日
    浏览(40)
  • C#中Attribute的魅力:从基础到高级AOP实战

      概述: C#中的Attribute(特性)为程序元素提供了灵活的元数据机制。除基础应用外,可高级应用于自定义代码生成、AOP等领域。通过示例展示了Attribute在AOP中的实际用途,以及如何通过反射机制获取并执行与Attribute相关的逻辑。 在C#中,Attribute(特性)是一种用于为程序实

    2024年03月14日
    浏览(21)
  • 笔记_Unity中的C#编程_112-116

    Microsoft新一代多语言的开发平台,用于构建和运行应用程序 Microsoft 专为.NET推出的高级语言 ##Mono NOvell公司支持在其他操作系统下开发.NET程序的框架 Unity借助Mono实现跨平台,核心是.NET Framework 框架 脚本 是附加在游戏物体上用于定义游戏对象行为的指令代码,就是.cs的文本文

    2023年04月20日
    浏览(25)
  • C# 编程语言有什么特点?

    在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C#的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!C#(C Sharp)是一种由Microsoft开发的多范式编程语言,最初发布于2000年。以下是C#编程语言的一

    2024年01月22日
    浏览(42)
  • C# 基础编程题集锦

    编写一个应用程序用来输入的字符串进行加密,对于字母字符串加密规则如下: \\\'a→d’ ‘b\\\'→’e’ ‘w’→z\\\' ...... x\\\'→’a’ ‘y\\\'→b\\\' ‘z→c’ ‘A’→’D’ ‘B\\\'→’E’ ‘W’→’Z’ ‘X’→’A’ ‘Y’→’B’ ‘Z’→’C’ ?对于其他字符,不进行加密。 输入(n100)个数,找出

    2024年02月02日
    浏览(20)
  • C#基础学习--异步编程

    目录 什么是异步 async/await 特性的结构  什么是异步方法  异步方法的控制流 await 表达式 启动程序时,系统会在内存中创建一个新的 进程 。进程是构成运行程序的资源的集合。进程是构成运行程序的资源的集合。这些资源包括虚地址空间,文件句柄和许多其他程序运行所需

    2023年04月25日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包