C# &Unity 唐老狮 No.6 模拟面试题

本文章不作任何商业用途 仅作学习与交流 安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程 打好坚实的基础非常非常重要:

全部 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho

如果你发现了文章内特殊的字体格式,那是AI补充的知识,我发现原网站下面有答案,我将会把答案以不同样式穿插在回答之中

目录

C#

[1.C#中如何让自定义容器类能够使用for循环遍历?(通过 类对象[索引] 的形式遍历)](#中如何让自定义容器类能够使用for循环遍历?(通过 类对象[索引] 的形式遍历))

2.C#中如何让自定义容器类能够使用foreach循环遍历?

3.C#中接口的作用是什么?说说你的理解

4.Unity引擎中哪些功能使用了C#的反射功能?至少说出一点

5.请问这三行代码,运行后,在堆上会分配几个"房间"

Unity

1.Unity中Awake和Start两个生命周期函数,分别在什么时候被调用?

2.Unity场景上有多个对象,都分别挂载了n个脚本。我们如何控制不同脚本间生命周期函数Awake的执行先后顺序?

3.想要在Unity中使用指针我们需要进行哪些操作?

[4.Unity中的协同程序中yield return不同的内容,代表的含义不同请说明下面这些yield return的含义1.yield return 数字;2.yield return null;3.yield return new WaitForSeconds(数字);4.yield return new WaitForFixedUpdate();5.yield return new WaitForEndOfFrame();6.yield break;](#4.Unity中的协同程序中yield return不同的内容,代表的含义不同请说明下面这些yield return的含义1.yield return 数字;2.yield return null;3.yield return new WaitForSeconds(数字);4.yield return new WaitForFixedUpdate();5.yield return new WaitForEndOfFrame();6.yield break;)

5.使用Unity协同程序进行异步加载时,底层是否会使用多线程?


C#

1.C#中如何让自定义容器类能够使用for循环遍历?(通过 类对象[索引] 的形式遍历)

索引器

C# &Unity 面向对象补全计划 之 索引器与迭代器-CSDN博客

2.C#中如何让自定义容器类能够使用foreach循环遍历?

迭代器

C# &Unity 面向对象补全计划 之 索引器与迭代器-CSDN博客

3.C#中接口的作用是什么?说说你的理解

规范职责 , 依赖倒置 ,里氏替换管理子类

DP:

  1. 多态性:不同类实现同一接口,可统一调用。
  2. 解耦:降低模块间依赖,提高代码可维护性。
  3. 扩展性:通过接口扩展功能,无需修改现有代码。

C# & Unity 面向对象补全计划 之 接口_unity c# 接口-CSDN博客

4.Unity引擎中哪些功能使用了C#的反射功能?至少说出一点

加载特性: C# & Unity 面向对象补全计划 之 [反射]自动处理带有自定义[特性]的类-CSDN博客

运行脚本,Inspector窗口设置值,编辑器开发

5.请问这三行代码,运行后,在堆上会分配几个"房间"

2个 我们总是不得不感叹 关于内存的分配机制真的很牛,它内部做了比较处理

Unity

1.Unity中Awake和Start两个生命周期函数,分别在什么时候被调用?

游戏运行或者实例化先Awake即使脚本未启用

然后 OnEnable脚本开启 在第一次帧更新前调用Start

**2.Unity场景上有多个对象,都分别挂载了n个脚本。

我们如何控制不同脚本间生命周期函数Awake的执行先后顺序?**

3.想要在Unity中使用指针我们需要进行哪些操作?

**4.Unity中的协同程序中yield return不同的内容,代表的含义不同

请说明下面这些yield return的含义
1.yield return 数字; 等一帧
2.yield return null; 等一帧
3.yield return new WaitForSeconds(数字); 等时间缩放下的数字秒
4.yield return new WaitForFixedUpdate(); 等下一次FiexdUpdate
5.yield return new WaitForEndOfFrame();** 帧渲染完成后执行
6.yield break; 退出协程

关于**yield return new WaitForEndOfFrame();**帧渲染完成后执行

此事该地介绍到事件函数的执行顺序 - Unity 手册 我将其图片复制过来 可以看个大概

5.使用Unity协同程序进行异步加载时,底层是否会使用多线程?

协程本身是单线程分步,异步机制可单可多 要看代码

C# & Unity 同步/异步编程和多线程什么关系?async/await和coroutine又是什么?_unity同步和异步-CSDN博客

相关推荐
belldeep3 小时前
如何阅读、学习 Tcc (Tiny C Compiler) 源代码?如何解析 Tcc 源代码?
c语言·开发语言
LuckyTHP3 小时前
java 使用zxing生成条形码(可自定义文字位置、边框样式)
java·开发语言·python
Blossom.1186 小时前
使用Python实现简单的人工智能聊天机器人
开发语言·人工智能·python·低代码·数据挖掘·机器人·云计算
da-peng-song6 小时前
ArcGIS Desktop使用入门(二)常用工具条——数据框工具(旋转视图)
开发语言·javascript·arcgis
galaxy_strive6 小时前
qtc++ qdebug日志生成
开发语言·c++·qt
TNTLWT6 小时前
Qt功能区:简介与安装
开发语言·qt
CoderIsArt7 小时前
参数系统的基类Parameter抽象类
c#
等等5437 小时前
Java EE初阶——wait 和 notify
java·开发语言
低代码布道师8 小时前
第五部分:第一节 - Node.js 简介与环境:让 JavaScript 走进厨房
开发语言·javascript·node.js
盛夏绽放8 小时前
Python字符串常用方法详解
开发语言·python·c#