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

相关推荐
yuhulkjv3353 小时前
Claude表格复制到word不再崩溃,AI导出鸭批量导出+格式无损一键搞定
人工智能·ai·c#·word·ai导出鸭
WWJA王文举5 小时前
I²C通信完整流程详解:START、地址、ACK、数据、Repeated START和STOP一次讲透
c语言·开发语言
zhanghaha13146 小时前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
ShineWinsu6 小时前
对于C++:C++11中lambda、function、bind的解析
c++·面试·笔试·开发·lambda·bind·function
码匠许师傅7 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
qq_448011167 小时前
C语言中的动态内存分配
c语言·开发语言·php
汉字萌萌哒8 小时前
2024CSP-J入门级C++真题详解
开发语言·c++
arbboter8 小时前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
sakiko_8 小时前
OC学习笔记-面试题
面试·objective-c
微小冷8 小时前
海康威视相机C#二次开发环境配置
数码相机·c#·.net·海康威视·相机开发