C# Unity 唐老狮 No.4 模拟面试题
本文章不作任何商业用途 仅作学习与交流 安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程 打好坚实的基础非常非常重要:
全部 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - 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
核心矛盾
Unity 对象的生命周期
当一个GameObject
被Destroy
或DestroyImmediate
销毁后:
- 它不再存在于场景中(视觉和物理消失)
- 但它的 C# 引用变量(比如
go
)依然保存着原来的内存地址,并未被自动置为null
- Unity 通过重载运算符和底层标记,将其标识为“已被销毁”的伪
null
两种判空机制的冲突
- 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 他说上面的答案是下面的一部分
核心原则:确保所有可能被动态调用的代码在编译时被显式引用或配置保留
相关文章:
C# Unity 唐老狮 No.4 模拟面试题
本文章不作任何商业用途 仅作学习与交流 安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程 打好坚实的基础非常非常重要: 全部 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho 如果你发现了文章内特殊的字体格式,…...
给没有登录认证的web应用添加登录认证(openresty lua实现)
这阵子不是deepseek火么?我也折腾了下本地部署,ollama、vllm、llama.cpp都弄了下,webui也用了几个,发现nextjs-ollama-llm-ui小巧方便,挺适合个人使用的。如果放在网上供多人使用的话,得接入登录认证才好&a…...
R语言绘图:韦恩图
韦恩分析 韦恩分析(Venn Analysis)常用于可视化不同数据集之间的交集和并集。维恩图(Venn diagram),也叫文氏图、温氏图、韦恩图、范氏图,用于显示元素集合重叠区域的关系型图表,通过图形与图形…...
STM32——串口通信 UART
一、基础配置 Universal Asynchronous Receiver Transmitter 异步,串行,全双工 TTL电平 :高电平1 低电平0 帧格式: 起始位1bit 数据位8bit 校验位1bit 终止位1bit NVIC Settings一栏使能接受中断。 之前有设置LCD,…...
【大模型基础_毛玉仁】1.3 基于Transformer 的语言模型
【大模型基础_毛玉仁】1.3 基于Transformer 的语言模型 1.3 基于Transformer 的语言模型1.3.1 Transformer1)注意力层(AttentionLayer)2)全连接前馈层(Fully-connected Feedforwad Layer)3)层正…...
靶场(二)---靶场心得小白分享
开始: 看一下本地IP 21有未授权访问的话,就从21先看起 PORT STATE SERVICE VERSION 20/tcp closed ftp-data 21/tcp open ftp vsftpd 2.0.8 or later | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_Cant get dire…...
大学至今的反思与总结
现在是2025年的3月5日,我大三下学期。 自大学伊始,我便以考研作为自己的目标,有时还会做自己考研上岸头部985,211,offer如潮水般涌来的美梦。 但是我却忽略了一点,即便我早早下定了决心去考研,但并没有早…...
【大模型】Llama 3.2 大语言模型初探:模型权重下载
文章目录 一、简介二、权重下载2.1 方法一:Meta 官网申请下载2.2 方法二:使用 hugging face 下载 一、简介 Llama(Large Language Model Meta AI)是 Meta(原 Facebook)开发的一系列开源大型语言模型。它的目…...
unity学习63,第2个小游戏:用fungus做一个简单对话游戏
目录 1 目标用fungus做一个简单的剧情对话游戏 1.1 先创建一个新的3D项目 1.2 fungus是什么 1.2.1 怎么获得 1.2 在AssetStore里搜索fungus (插件类)--千万别买收费的错的! 1.3 fungus的官网 1.3.1 官网给的3个下载链接,unity的果然已经失效了 …...
笔记:代码随想录算法训练营day36:LeetCode1049. 最后一块石头的重量 II、494. 目标和、474.一和零
学习资料:代码随想录 1049.最后一块石头的重量II 力扣题目链接 思路:如何讲该问题转化为背包问题:还是对半分去碰,对半分去碰碰剩下的就是最小的。然后背包容量就是一半儿,物品重量等于物品价值等于stones[i] 和上…...
Elasticsearch:解锁深度匹配,运用Elasticsearch DSL构建闪电般的高效模糊搜索体验
目录 Elasticsearch查询分类 叶子查询 全文检索查询 match查询 multi_match查询 精确查询 term查询 range查询 复杂查询 bool查询简单应用 bool查询实现排序和分页 bool查询实现高亮 场景分析 问题思考 解决方案 search_after方案(推荐) point in time方案 方案…...
Android实现漂亮的波纹动画
Android实现漂亮的波纹动画 本文章讲述如何使用二维画布canvas和camera、矩阵实现二、三维波纹动画效果(波纹大小变化、画笔透明度变化、画笔粗细变化) 一、UI界面 界面主要分为三部分 第一部分:输入框,根据输入x轴、Y轴、Z轴倾…...
qt实践教学(编写一个代码生成工具)持续更新至完成———
前言: 我的想法是搭建一个和STM32cubemux类似的图形化代码生成工具,可以把我平时用到的代码整合一下全部放入这个软件中,做一个我自己专门的代码生成工具,我初步的想法是在下拉选框中拉取需要配置的功能,然后就弹出对…...
【数据结构】什么是栈||栈的经典应用||分治递归||斐波那契问题和归并算法||递归实现||顺序栈和链栈的区分
文章目录 🥧栈的初步理解:🥧易错:如何判断栈满🥧栈满理解🥧栈的基本运算📚栈操作的伪代码逻辑(顺序和链栈)📕顺序栈运算实现:顺序栈的表示&#x…...
vue3(笔记)4.0 vueRouter.导航守卫.ElementPuls知识点
---vueRouter 创建路由: 完整写法(懒加载): 默认写法与vue2一致: 导入 然后 写成component: LoginPage import { createRouter, createWebHistory } from vue-routerconst router createRouter({history: createWebHistory(import.meta.env.BASE_URL), routes: [{path:/lo…...
[数字图像处理]实验三:直方图增强
目录 一、实验目的 二、实验原理 三、实验内容(附代码) 四、实验结果及分析 五、实验小结 一、实验目的 1.了解图像增强的意义和目的 2.掌握各种图像增强的基本原理和方法 3.使用MATLAB实现图像增强 二、实验原理 图像增强方法从增强的作用域…...
图像分类项目1:基于卷积神经网络的动物图像分类
1、选题背景及动机 在现代社会中,图像分类是计算机视觉领域的一个重要任务。动物图像分类具有广泛的应用,例如生态学研究、动物保护、农业监测等。通过对动物图像进行自动分类,可以帮助人们更好地了解动物种类、数量和分布情况,从…...
并发编程(线程池)面试题及原理
1. 执行原理/核心参数 1.1 核心参数 核心参数 corePoolSize 核心线程数目maximumPooISize 最大线程数目 (核心线程+救急线程的最大数目)keepAliveTime 生存时间- 救急线程的生存时间,生存时间内没有新任务,此线程资…...
初次使用 IDE 搭配 Lombok 注解的配置
前言 在 Java 开发的漫漫征程中,我们总会遇到各种提升效率的工具。Lombok 便是其中一款能让代码编写变得更加简洁高效的神奇库。它通过注解的方式,巧妙地在编译阶段为我们生成那些繁琐的样板代码,比如 getter、setter、构造函数等。然而&…...
云原生时代的技术桥梁
在数字化转型的大潮中,企业面临着数据孤岛、应用间集成复杂、高成本与低效率等问题。这些问题不仅阻碍了企业内部信息的流通和资源的共享,也影响了企业对外部市场变化的响应速度。当前,这一转型过程从IT角度来看,已然迈入云原生时…...
2024四川大学计算机考研复试上机真题
2024四川大学计算机考研复试上机真题 2024四川大学计算机考研复试机试真题 历年四川大学计算机考研复试机试真题 在线评测:https://app2098.acapp.acwing.com.cn/ 分数求和 题目描述 有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13… 求出这个数列的前 …...
【GPU使用】如何在物理机和Docker中指定GPU进行推理和训练
我的机器上有4张H100卡,我现在只想用某一张卡跑程序,该如何设置。 代码里面设置 import os # 记住要写在impot torch前 os.environ[CUDA_VISIBLE_DEVICES] "0, 1"命令行设置 export CUDA_VISIBLE_DEVICES0,2 # Linux 环境 python test.py …...
汽车免拆诊断案例 | 2023款丰田雷凌汽油版车行驶中偶尔出现通信故障
故障现象 一辆2023款丰田雷凌汽油版车,搭载1.5 L发动机,累计行驶里程约为4700 km。车主反映,行驶中偶尔组合仪表上的发动机转速信号丢失,转向变重,且有“闯车”感,同时车辆故障警报蜂鸣器鸣响。 故障诊断…...
千里科技亮相吉利AI智能科技发布会,共启“AI+车”新纪元
今天,在三亚举行的吉利AI智能科技发布会上,千里科技董事长印奇发表了主题为《从“车AI”到“AI车”》的演讲。印奇重点分享了对于“AI车”未来趋势的判断,并重点介绍了在吉利AI科技生态体系下,围绕智驾、智舱等领域的创新合作。基…...
汽车零部件厂如何选择最适合的安灯系统解决方案
在现代制造业中,安灯系统作为一种重要的生产管理工具,能够有效提升生产线的异常处理效率,确保生产过程的顺畅进行。对于汽车零部件厂来说,选择一套适合自身生产需求的安灯系统解决方案尤为重要。 一、安灯系统的核心功能 安灯系统…...
spring boot + vue 搭建环境
参考文档:https://blog.csdn.net/weixin_44215249/article/details/117376417?fromshareblogdetail&sharetypeblogdetail&sharerId117376417&sharereferPC&sharesourceqxpapt&sharefromfrom_link. spring boot vue 搭建环境 一、浏览器二、jd…...
spaCy 入门:自然语言处理的高效工具
spaCy 入门:自然语言处理的高效工具 引言 spaCy 是一个功能强大的开源 Python 库,专注于工业级的自然语言处理(NLP)。它以其高效的性能、简洁的 API 和对多种语言的支持而闻名。无论是进行文本分析、信息提取还是构建智能聊天机…...
Stable Diffusion模型高清算法模型类详解
Stable Diffusion模型高清算法模型类详细对比表 模型名称核心原理适用场景参数建议显存消耗细节增强度优缺点4x-UltraSharp残差密集块(RDB)结构优化纹理生成真实人像/建筑摄影重绘幅度0.3-0.4,分块尺寸768px★★★★★☆皮肤纹理细腻,但高对比场景易出现…...
数据结构:八大排序(冒泡,堆,插入,选择,希尔,快排,归并,计数)详解
目录 一.冒泡排序 二.堆排序 三.插入排序 四.选择排序 五.希尔排序 六.快速排序 1.Lomuto版本(前后指针法) 2.Lomuto版本的非递归算法 3.hoare版本(左右指针法) 4.挖坑法找分界值: 七.归并排序 八.计数排序…...
QT-对象树
思维导图 写1个Widget窗口,窗口里面放1个按钮,按钮随便叫什么 创建2个Widget对象 Widget w1,w2 w1.show() w2不管 要求:点击 w1.btn ,w1隐藏,w2显示 点击 w2.btn ,w2隐藏,w1 显示 #include <QApplication> #inc…...
随机播放音乐 伪随机
import java.util.*;/*** https://cloud.tencent.com.cn/developer/news/1045747* 伪随机播放音乐*/ public class MusicPlayer {private List<String> allSongs; // 所有歌曲列表private List<String> playedSongs; // 已经播放过的歌曲列表private Map<String…...
spring boot打包插件的问题
在spring boot项目中声明了 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build> 执行mvn clean package&…...
海康摄像头接入流媒体服务器实现https域名代理播放
环境 操作系统:Ubuntu 22.04流媒体服务器:srs 官网安装教程srs开启GB28181协议 官网开启教程进行海康摄像头的配置 官网配置教程srs使用systemctl实现开机自启 官网配置教程 nginx配置说明 server {listen 80;server_name a.com;return 301 https://$…...
Stable Diffusion模型Pony系列模型深度解析
Stable Diffusion模型Pony系列模型深度解析 一、技术架构与核心特性 基于SDXL的深度优化 Pony系列模型以SDXL为基础框架,通过针对二次元/动漫风格的微调,强化了在该领域的生成能力,同时保留了对写实场景的兼容性。其训练数据特别侧重于人…...
性能巅峰对决:Rust vs C++ —— 速度、安全与权衡的艺术
??关注,带你探索Java的奥秘!?? ??超萌技术攻略,轻松晋级编程高手!?? ??技术宝库已备好,就等你来挖掘!?? ??订阅,智趣学习不孤单!?? ??即刻启航,编…...
【Kubernets】K8S内部nginx访问Service资源原理说明
文章目录 原理概述**一、核心概念****二、Nginx 访问 Service 的流程****1. Service 的作用****2. Endpoint 的作用****3. Nginx Pod 发起请求****(1) DNS 解析****(2) 流量到达 kube-proxy****(3) 后端 Pod 处理请求** **三、不同代理模式的工作原理****1. iptables 模式****2…...
Markdown HTML 图像语法
插入图片 Markdown 一般来说,直接复制粘贴过来就行了,部分网页/应用可以拖拽,没人会真敲图片的链接吧…… 示例图片: 就不能再改变。然而,这并不影响对象内部的状态(即对象的属性)是否可以改变。具体来说&a…...
疫情管理系统设计与实现(代码+数据库+LW)
摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本疫情管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息&a…...
记Android12上一个原生bug引起的system_server crash
一. 现象描述 近日测试上报一个几乎必现的crash,描述如下: 现象: launcher编辑状态与锁屏解锁交互时系统概率性重启 操作步骤: 进入launcher组件编辑状态按电源键灭屏后亮屏,锁屏界面上滑解锁launcher编辑状态向右或向左滑动重复1,2&#x…...
代码随想录算法训练营第六天|Leetcode454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
15. 三数之和 建议:本题虽然和 两数之和 很像,也能用哈希法,但用哈希法会很麻烦,双指针法才是正解,可以先看视频理解一下 双指针法的思路,文章中讲解的,没问题 哈希法很麻烦。 题目链接/文章讲…...
大数据环境(单机版) Flume传输数据到Kafka
文章目录 前言一、准备二、安装三、配置环境变量四、修改配置4.1、kafka配置4.2、Flume配置 五、启动程序5.1、启动zk5.2、启动kafka5.3、启动flume 六、测试6.1、启动一个kafka终端,用来消费消息6.2、写入日志 其他 前言 flume监控指定目录,传输数据到…...
计算机毕业设计SpringBoot+Vue.js高校教师科研管理系统(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
C++课程设计【宿舍管理查询软件】
宿舍管理查询软件 一、题目描述二、源码以及说明宿舍管理查询软件设计与实现1. 系统设计思路1.1 功能需求1.2 数据结构2. 系统实现3. 代码说明3.1 数据结构3.2 功能实现3.3 文件存储4. 示例运行输入输出5. 总结其他QT文章推荐一、题目描述 (一)问题描述 为宿舍管理人员编写一…...
数据挖掘校招面经一
写在前面:其实数据挖掘、风控、机器学习算法与搜广推的八股还是有重合的部分,毕竟都是面对结构化数据。特别是我自己是做竞赛的,平时LGBM、CatBoost用的挺多的,所以感觉这些八股还是有必要看看,建议大家也可以看一下。…...
迷你世界脚本对象库接口:ObjectLib
对象库接口:ObjectLib 迷你世界 更新时间: 2023-04-26 20:21:09 具体函数名及描述如下: 序号 函数名 函数描述 1 getAreaData(...) 获取区域数据 2 getPositionData(...) 获取位置数据 3 getLivingData(...) 获取生物数据 4 getItemDat…...
VSCode知名主题带毒 安装量900万次
目前微软已经从 Visual Studio Marketplace 中删除非常流行的主题扩展 Material Theme Free 和 Material Theme Icons,微软称这些主题扩展包含恶意代码。 统计显示这些扩展程序的安装总次数近 900 万次,在微软实施删除后现在已安装这些扩展的开发者也会…...
C#—csv文件格式操作实例【在winform表格中操作csv】
C#—csv文件格式操作实例【在winform表格中操作csv】 实例一 实例效果 当在winform界面中点击读取按钮时 将csv中的所有数据读取出来放置在datagridview控件,可以在datagridview控件中编辑数据,当点击保存按钮时 将datagridview控件中的所有数据存储在…...
Redis设计与实现-数据结构
Redis数据结构 1、RedisObject对象2、简单动态字符串2.1 SDS定义2.2 SDS与C语言的区别2.3 SDS的空间分配策略2.3.1 空间预分配2.3.2 惰性空间释放 2.4 SDS的API 3、链表3.1 链表的定义3.2 链表的API 4、字典4.1 字典的定义4.2 哈希算法4.3 哈希表的扩缩4.3.1 哈希表扩缩的判断依…...