unity3d面试题总结

unity3d面试题总结

ID:7528206

大小:33.91 KB

页数:10页

时间:2018-02-18

unity3d面试题总结_第1页
unity3d面试题总结_第2页
unity3d面试题总结_第3页
unity3d面试题总结_第4页
unity3d面试题总结_第5页
资源描述:

《unity3d面试题总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、unity3d面试题总结1.请简述值类型与引用类型的区别 答:区别:   1.值类型存储在内存栈中,引用类型数据存储在内存堆中,而内存单元中存放的是堆中存放的地址。 2.值类型存取快,引用类型存取慢。   3.值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针和引用。   4.栈的内存是自动释放的,堆内存是.NET中会由GC来自动释放。 5.值类型继承自,引用类型继承自。 #中所有引用类型的基类是什么 答:引用类型的基类是值类型的基类是 同时,值类型也隐式继承自   3.请简述Array

2、List和List的主要区别   答:ArrayList存在不安全类型‘(ArrayList会把所有插入其中的数据都当做Object来处理) 装箱拆箱的操作(费时)   List是接口,ArrayList是一个实现了该接口的类,可以被实例化。   4.请简述GC(垃圾回收)产生的原因,并描述如何避免? 答:GC回收堆上的内存 避免:1)减少new产生对象的次数 2)使用公用的对象(静态成员)   3)将String换为StringBuilder   5.请描述Interface与抽象类之间的不同  

3、 答:抽象类表示该类中可能已经有一些方法的具体定义,但接口就是公公只能定义各个方法的界面,不能具体的实现代码在成员方法中。   类是子类用来继承的,当父类已经有实际功能的方法时该方法在子类中可以不必实现,直接引用父类的方法,子类也可以重写该父类的方法。   实现接口的时候必须要实现接口中所有的方法,不能遗漏任何一个。 6.下列代码在运行中会产生几个临时对象?   stringa=newstring("abc");   a=(()+"123").Substring(0,2);   复制代码答:其实在C

4、#中第一行是会出错的(Java中倒是可行)。应该这样初始化:   stringb=newstring(newchar{'a','b','c'}); 复制代码   7.下列代码在运行中会发生什么问题?如何避免?   Listls=newList(newint{1,2,3,4,5}); foreach(intiteminls) { (item*item); (item); }   复制代码答:会产生运行时错误,因为foreach是只读的。不能一边遍历一边修改。   8.请简述关键字Sealed用在类声明

5、和函数声明时的作用   答:类声明时可防止其他类继承此类,在方法中声明则可防止派生类重写此方法。   9.请简述private,public,protected,internal的区别 答:   public:对任何类和成员都公开,无限制访问 private:仅对该类公开 protected:对该类和其派生类公开   internal:只能在包含该类的程序集中访问该类   protectedinternal:protected+internal 10.反射的实现原理?   答:审查元数据并收集关于它

6、的类型信息的能力。   反射个人认为,就是得到程序集中的属性和方法。 实现步骤: 1,导入using;   2,("程序集")加载程序集,返回类型是一个Assembly   3,foreach(Typetypein()) { stringt=; } 得到程序集中所有类的名称   4,Typetype=("程序集.类名");获取当前类的类型 5,(type);创建此类型实例   6,MethodInfomInfo=("方法名");获取当前方法 7,(null,方法参数); 11..Net与Mono的关

7、系? 答:Mono官网主页   Monoisasoftwareplatformdesignedtoallowdeveloperstoeasilycreate   crossplatformapplications.SponsoredbyXamarin,Monoisanopensource   implementationofMicrosoft's.NETFrameworkbasedontheECMAstandardsforC#andtheCommonLanguageRuntime.   mono是.

8、net的一个开源跨平台工具,就类似java虚拟机,java本身不是跨平台语言,但运行在虚拟机上就能够实现了跨平台。.net只能在windows下运行,mono可以实现跨平台跑,   可以运行于linux,Unix,MacOS等。   12.简述Unity3D支持的作为脚本的语言的名称   答:Unity的脚本语言基于Mono的.Net平台上运行,可以使用.NET库,这也为XML、数据库、正则表达式等问题提供了很好的解决方案。   Unity里的脚本都会经过编译,他们的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。