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博客

相关推荐
千寻girling6 分钟前
滑动窗口刷了快一个月(26天)了 , 还没有刷完. | 含(操作系统学什么的Java 后端)
java·开发语言·javascript·c++·人工智能·后端·python
mxwin15 分钟前
Unity Shader 手写基于 PBR 的 URP Lit Shader 核心光照计算
unity·游戏引擎·shader
曾凡玉@17 分钟前
Python 并发编程系统笔记
开发语言·笔记·python
代码中介商18 分钟前
C语言核心知识完全回顾:从数据类型到动态内存管理
c语言·开发语言
小贺儿开发19 分钟前
Unity3D 智能云端数字标牌系统
unity·阿里云·人机交互·视频·oss·广告·互动
故事还在继续吗22 分钟前
C++多线程与多进程编程
开发语言·c++
幽络源小助理29 分钟前
影视脚本分镜在线协作系统源码 PHP剧本创作平台
开发语言·php
.柒宇.36 分钟前
FastAPI进阶教程
开发语言·python·fastapi
JQLvopkk41 分钟前
C# 工业级上位机:交互实战
开发语言·c#·交互
魔士于安1 小时前
Unity windows 同步 异步 打开文件文件夹工具
游戏·unity·游戏引擎·贴图·模型