当前位置: 首页 > wzjs >正文

怎样建设学校网站百度网站首页网址

怎样建设学校网站,百度网站首页网址,建立时间和保持时间,中文域名交易平台本文章不作任何商业用途 仅作学习与交流 安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程 打好坚实的基础非常非常重要: 全部 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho 如果你发现了文章内特殊的字体格式,…

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

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

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

目录

C#

1. 请说明字符串中    string str = null    string str = ""    string str = string.Empty    三者的区别

2. C#重载运算符,重载 == 和 != 以及 万物之父Object基类中的虚方法 virtual bool Equals(Object obj)对于我们的意义是什么?

3. 在开发时,对string和StringBuilder我们应该如何选择

4. 请简要说明.Net跨语言原理

5. 请简要说明.Net跨平台原理

Unity

1. Unity中的Destroy和DestroyImmediate的区别是什么?

请问最终打印的 s 的结果为? 

核心矛盾

1. if (!go) → A

2. if (go is null) → 不执行

3. if (go == null) → C

4. if ((object)go == null) → 不执行

3. 第一次执行GameObject.Instantiate时可能出现明显的卡顿    如何解决该问题?

4. Lua如何实现面向对象的三大特性?

5. Unity使用IL2CPP打包时,我们应该注意什么?如何避免(可以举例说明)


C#

1. 请说明字符串中
    string str = null
    string str = ""
    string str = string.Empty
    三者的区别

=null 说明其没有占用内存

="" 说明其有值 但为空,指向了堆内存

=empty 同上,但是为静态只读变量

2. C#重载运算符,重载 == 和 != 以及 万物之父Object基类中的虚方法 virtual bool Equals(Object obj)对于我们的意义是什么?

        此问题是对C# &Unity 唐老狮 No.2 模拟面试题-CSDN博客 之中 C#第一题的补充 我将其总结成了表格

操作不进行操作时的情况进行操作后的效果意义总结
重载 == 和 != 运算符
值类型:比较的是值是否相等。
引用类型:比较的是两个引用是否指向同一个对象实例,即判断是否为同一内存地址
例如对于自定义类对象,即使它们的属性值完全相同,但只要不是同一个实例,== 判断结果就是 false

- 可以根据对象的内容判断它们是否相等,而不仅仅依据引用
- 代码更符合自然语言习惯,增强了代码的可读性,比如对于自定的 Person 类,可通过比较 Name 和 Age 属性来判断两个 Person 对象是否相等

- 提高代码可读性,使代码更符合开发者的直觉和自然语言表达
- 满足业务上根据对象内容判断相等性的需求,而不是局限于引用相等
重写 Equals 方法
默认继承自 Object 基类的 Equals 方法,对于引用类型同样是比较引用是否相等
在集合类(如 List<T>Dictionary<TKey, TValue>)中使用时,默认行为可能无法满足根据对象内容判断相等的业务场景

- 实现基于对象内容的相等性比较
- 让集合类在判断元素是否相等时能按照自定义的内容比较逻辑进行处理
- 结合重写 GetHashCode 方法,确保对象在哈希表等数据结构中能正确工作

- 使对象在集合类中的相等性判断符合业务逻辑
- 遵循最佳实践,保证对象在使用哈希表等数据结构时能正常存储和查找

 重写举例:

        是指,原来不能比较p1 p2内的字段(只能看他俩是不是指向同一个对象),重写后可以比较了

public class Person
{public string Name { get; set; }public int Age { get; set; }public Person(string name, int age){Name = name;Age = age;}// 重载 == 运算符public static bool operator ==(Person p1, Person p2){if (ReferenceEquals(p1, p2)){return true;}if (ReferenceEquals(p1, null) || ReferenceEquals(p2, null)){return false;}return p1.Name == p2.Name && p1.Age == p2.Age;}// 重载 != 运算符public static bool operator !=(Person p1, Person p2){return !(p1 == p2);}
}class Program
{static void Main(){Person p1 = new Person("Alice", 25);Person p2 = new Person("Alice", 25);// 使用重载的 == 运算符bool areEqual = p1 == p2;Console.WriteLine($"Are p1 and p2 equal? {areEqual}"); }
}

        实现同上

public class Person
{public string Name { get; set; }public int Age { get; set; }public Person(string name, int age){Name = name;Age = age;}// 重写 Equals 方法public override bool Equals(object obj){if (obj == null || GetType() != obj.GetType()){return false;}Person other = (Person)obj;return Name == other.Name && Age == other.Age;}// 重写 GetHashCode 方法public override int GetHashCode(){return Name.GetHashCode() ^ Age.GetHashCode();}
}class Program
{static void Main(){Person p1 = new Person("Alice", 25);Person p2 = new Person("Alice", 25);// 使用重写的 Equals 方法bool areEqual = p1.Equals(p2);Console.WriteLine($"Are p1 and p2 equal? {areEqual}"); }
}

3. 在开发时,对string和StringBuilder我们应该如何选择

        记住,StringBuilder 专门用来处理字符串拼接,这个功能上强于string(string拼接会产生垃圾,会将每一次的拼接都单开一个内存地址)

4. 请简要说明.Net跨语言原理

5. 请简要说明.Net跨平台原理

        知识加油站: 尽量通俗易懂地概述.Net && U nity跨语言/跨平台相关知识-CSDN博客

         4和5 一起回答了

         跨语言是因为有一个规则CLI,相当于.NET下支持语言与设备之间的翻译(中间码)

        CLI(Common Language Infrastructure):包含了 .NET 框架的所有基础设施

        跨平台就是将翻译来的CLI 加上其他基类库 作为一个程序集 给到CLR

CLR (Common Language Runtime,公共语言运行时) 将 CIL 代码通过 JIT 编译器编译成机器代码,然后在具体的硬件上执行 可以说代码就是在CLR上面运行的

         

Unity

1. Unity中的Destroy和DestroyImmediate的区别是什么?

        最快下一帧销毁和这一帧销毁

2.

请问最终打印的 s 的结果为? 

    说实话 这道题我不清楚 所以问了Ai

核心矛盾

  1. Unity 对象的生命周期
    当一个 GameObjectDestroyDestroyImmediate 销毁后:

    • 它不再存在于场景中(视觉和物理消失)
    • 但它的 C# 引用变量(比如 go依然保存着原来的内存地址,并未被自动置为 null
    • Unity 通过重载运算符和底层标记,将其标识为“已被销毁”的伪 null
  2. 两种判空机制的冲突

    • Unity 侧逻辑:提供运算符重载(==!=和 bool 转换),检查对象是否已被销毁
    • C# 原生逻辑:检查引用地址是否 0x0(是否为原生 null
1. if (!go) → A
  • Unity 的 GameObject 继承自 UnityEngine.Object,其重载了 bool 运算符。
  • 当对象被销毁(DestroyImmediate)时,Unity 会将它标记为 "null",此时 !go 返回 true
2. if (go is null) → 不执行
  • is null 是 C# 原生的 null 检查,直接比较内存地址是否为 0x0
  • 关键点go 变量的引用地址未被 Unity 修改(仍指向原始地址),仅被 Unity 内部标记为 "destroyed",因此此条件为 false
3. if (go == null) → C
  • 调用 Unity 重载的 == 运算符,此时会返回 true,因为 Unity 明确告知对象已销毁。
4. if ((object)go == null) → 不执行

  • 强制将 go 转换为 System.Object 后,其引用地址依旧非空(与第二条同理)。

        最后一句话总结,unity在做销毁后 做了伪Null处理,但是被c#原生的api 去测内存就露馅了,让我测测你的小内存里 是不是真的😋

        "Unity 的伪Null 是给对象画了个墓碑(写着 '我死了,别用我'),而 C# 原生判空是去摸摸尸体——然而这个尸体还躺着原来的坟头地址呢! "

3. 第一次执行GameObject.Instantiate时可能出现明显的卡顿
    如何解决该问题?

        代码上:别用GameObject.Instantiate 而是 配合协程做异步加载

        源头上:把资源做处理 比如减少网格,减少特效 等等 只要不是一瞬间大量占用内存都好说

        

4. Lua如何实现面向对象的三大特性?

        不会Lua喵

5. Unity使用IL2CPP打包时,我们应该注意什么?如何避免(可以举例说明)

        尽量通俗易懂地概述.Net && U nity跨语言/跨平台相关知识-CSDN博客

        IL2CPP不能在运行时动态生成代码和类型(AOT提前编译的错),所以一切都要提前在编译器里面做好,就比如热更了一个C类,但是之前的代码没有使用过喵,所以会报错

        但是只需要在某一个不重要的地方 显示调用一下c 哪怕没有任何逻辑 也可以解决报错了

        答案似乎不一样呢 问了DP 他说上面的答案是下面的一部分

        核心原则:确保所有可能被动态调用的代码在编译时被显式引用或配置保留 


文章转载自:

http://TfbkvCEL.hnzrL.cn
http://3LNjw0W6.hnzrL.cn
http://VT0oPFin.hnzrL.cn
http://8fQa7SKc.hnzrL.cn
http://F3P0YbNx.hnzrL.cn
http://OboMH5lC.hnzrL.cn
http://ephEyN4g.hnzrL.cn
http://gQO0ySfJ.hnzrL.cn
http://OCU2N3yB.hnzrL.cn
http://dHO61eNM.hnzrL.cn
http://2OJLBCKn.hnzrL.cn
http://W3hxOoqu.hnzrL.cn
http://fFv4Eova.hnzrL.cn
http://XrPnXxkO.hnzrL.cn
http://srLREFAs.hnzrL.cn
http://TYcY60Or.hnzrL.cn
http://DO5cUhOR.hnzrL.cn
http://zFk52HS2.hnzrL.cn
http://9Pk4GG6w.hnzrL.cn
http://d20MRKs5.hnzrL.cn
http://FQRqVJYs.hnzrL.cn
http://tLDzeP8y.hnzrL.cn
http://kUUDpEOT.hnzrL.cn
http://gcGjnu20.hnzrL.cn
http://xTGFhd0p.hnzrL.cn
http://J4hoAay0.hnzrL.cn
http://hCpF4ZgC.hnzrL.cn
http://DogQx6BW.hnzrL.cn
http://lMzJ0Uku.hnzrL.cn
http://08JQB2Vk.hnzrL.cn
http://www.dtcms.com/wzjs/692919.html

相关文章:

  • 南昌做网站设计广州地铁2号线
  • aps网站服务建设小橡皮私人定制app软件
  • 专做袜子的网站维护网站是什么意思
  • 网站备案最新备案号长春网络推广
  • 旅游信息网站开发背景网站自助建站系统
  • 哪些公司做网站好app开发网站建设前景
  • 建立网站 域名 服务器今天重庆新闻头条
  • 数学建模代做网站wordpress 忘记密码页面
  • 建立网站很重要的要素是什么百度百度百度一下
  • 关于网站开发人员保密协议中国机械加工网易下拉教程
  • 二网站手太仓网站建设网站推广
  • 网站建设198网站开发兼职团队
  • 公司网站维护是做什么的阿里ace 安装wordpress 并修改
  • 冷色调网站网站的信息量能做什么
  • 大连建设工程信息网怎么注册搜索seo
  • 手机网站可以做动态吗商标查询软件哪个app好
  • 购物网站建设代理商购物网站开发方案
  • 那个网站可以做公示房价2024年暴跌
  • 中文域名网站怎么发布信息大型网站的建设
  • 建站网站建设哪个好怎样做网站才不能被攻破
  • 如何打造网站网站权限怎么设置
  • 做电影下载网站还赚钱吗中文企业网站模板下载
  • 泰安肥城网站建设网站推广话术与技巧
  • 高校网站推广方案小程序的功能与作用
  • 在哪个网站找婚照公司成都设计公司第一名
  • 网投网站怎么做想做外贸做哪些网站好
  • 麻阳住房和城乡建设局网站美篇相册制作免费下载app
  • 博物馆网站微信公众号建设方案重庆微信网站建设报价表
  • 网站开发一般采用什么框架男女做暖暖的试看网站
  • 完全自定义纯代码打造你的wordpress站点侧边栏编程做网站容易还是做软件