LoserMe-分享我的C#&Unity学习之旅 廉价便宜国外VPS推荐,独享科学上网IP,Unity游戏制作学习,各种学习记录

枚举器(Enumerator)的学习

基本概念 迭代器(Iterator)是一种设计模式,允许你遍历集合中的元素而不暴露其底层结构。在C#中,迭代器是通过实现 IEnumerable 和 IEnumerator 接口或者使用 yield 关键字来实现的。 用途 遍历集合:迭代器用于遍历集合(如数组、列表等)中的元素。 自定义集合遍历:可

OneBigLoser 发布于 2024-07-24

特性Attribute的学习

特性 (Attributes) 的解释 在C#中,特性(Attributes)是一种将元数据或声明性信息附加到代码(如类、方法、属性等)上的方式。特性不会影响代码的逻辑,但可以影响代码在运行时的行为或提供关于代码的信息。 用途及在游戏开发中的应用

OneBigLoser 发布于 2024-07-24

反射 (Reflection) 的解释

反射是一种强大的编程技术,使程序能够在运行时检查和修改自身行为。在 .NET 框架中,反射提供了一系列的API,允许开发者在运行时查询和操作对象的类型信息。 用途及在游戏开发中的应用 通用用途: 动态类型处理:在不知道对象类型的情况下,查询和调用对象的属性、方法和事件。 自动生成界面:根据对象的属性

OneBigLoser 发布于 2024-07-24

委托(Delegate)的学习

基本概念 委托(Delegate)是 C# 中的一种类型,类似于 C 或 C++ 中的函数指针。委托用于封装一个方法的引用,并且可以动态地指定和调用方法。换句话说,委托可以存储对方法的引用,并在需要时调用这些方法。 用途 委托常用于以下场景: 事件处理:用于处理用户输入、定时器、网络请求等事件。

OneBigLoser 发布于 2024-07-21

匿名方法和Lambda表达式

基本概念 匿名函数(Anonymous Function)是一种没有名称的函数。它可以在任何需要委托(delegate)或表达式的地方使用。C# 中的匿名函数包括匿名方法和Lambda 表达式。 匿名方法:使用 delegate 关键字定义。 Lambda 表达式:使用 => 语法定义,是匿名方法的

OneBigLoser 发布于 2024-07-21

事件Event的基本概念

什么是事件 基本概念 事件(Event)是C#中的一种机制,用于实现对象之间的通知。当某个对象的状态发生变化时,它可以通过事件通知其他对象。事件通常与委托一起使用,委托定义了事件处理程序的签名,而事件则允许我们将这些处理程序与特定的事件相关联。 用途 实现松耦合:对象之间不需要直接交互,通过事件机制

OneBigLoser 发布于 2024-07-20

泛型栈(Stack<T>)和泛型队列(Queue<T>)

基本概念 泛型栈(Stack<T>) 栈是一种后进先出(LIFO, Last In First Out)的数据结构。栈中最后添加的元素最先被移除。可以把栈想象成一叠盘子,最后放上去的盘子最先被拿走。 泛型队列(Queue<T>) <

OneBigLoser 发布于 2024-07-20

LinkedList学习

基本概念 LinkedList 是一种链式存储结构,它由一系列节点(Node)组成,每个节点包含数据和指向下一个节点的指针。链表中的节点不需要连续存储,每个节点通过指针(引用)连接在一起。 用途 LinkedList 常用于以下情况: 动态数据管理:适用于数据量不固定,经常需要插入和删除操作的情况。

OneBigLoser 发布于 2024-07-20

顺序存储和链式存储

基本概念 顺序存储 顺序存储(Sequential Storage)是指将数据按顺序存放在连续的内存空间中。最常见的顺序存储结构是数组。 特点: 数据在内存中是连续存储的。 每个元素有固定的索引,通过索引可以快速访问元素。 <

OneBigLoser 发布于 2024-07-20

Dictionary 的基本概念

Dictionary 的基本概念 想象你有一本电话簿,每个人的名字旁边都写着他们的电话号码。如果你想找到某个人的电话号码,你可以通过他们的名字来查找。在这个比喻中,人名就是"键"(Key),电话号码就是"值"(Value)。 在编程中,Dictionary 就像这本电话簿。它是一种数据结构,用于存储

OneBigLoser 发布于 2024-07-19

List 学习

基本概念 List 是 C# 中的一个通用集合类,它位于 System.Collections.Generic 命名空间下。List 类允许你存储同一类型的对象,并提供了动态调整大小的功能。它类似于数组,但比数组更灵活,因为它可以根据需要自动扩展和缩小。 用途 List 类可以用来存储和管理一组数据

OneBigLoser 发布于 2024-07-19

泛型约束的基本概念

泛型(Generic)是一种使类、接口或方法能够在不指定具体数据类型的情况下进行编程的机制。它允许你编写更通用和可重用的代码。 泛型约束(Generic Constraints)则进一步限制泛型参数的类型,以确保泛型类型能使用特定的方法或特性。 语法规则及声明 在C#中,泛型约束通常在类或方法的声明

OneBigLoser 发布于 2024-07-17

泛型的基本概念

泛型就像是一个"万能盒子",它可以装任何类型的东西。想象你有一个鞋盒,你可以把运动鞋放进去,也可以把皮鞋放进去。泛型就像这个鞋盒,但它不限于放鞋,它可以放任何你想放的东西。 在编程中,泛型允许我们编写可以处理不同类型数据的代码,而不需要为每种类型都写一遍相似的代码。这使得我们的代码更加灵活,可重用性

OneBigLoser 发布于 2024-07-17

HashTable:像字典一样存储数据

HashTable:像字典一样存储数据 想象一下,你要在一本厚厚的字典里查找一个单词,你会怎么做?你肯定不会从头到尾翻阅整个字典,而是会利用拼音或偏旁部首快速定位到单词所在的大概页码,然后再进行查找。 HashTable(哈希表)就像一本高效的字典,它可以根据数据的特征(键)快速找到对应的信息(值)

OneBigLoser 发布于 2024-07-15

Queue的基本概念

想象你和朋友们在食堂排队买午餐。你们按照先来后到的顺序排队,先来的人先买,后来的人后买。这就是队列的基本概念:"先进先出"(First In, First Out,简称FIFO)。 在编程中,队列是一种常用的数据结构。它就像食堂的排队一样,先添加到队列中的元素,会先被取出。 Queue的用途和在游戏

OneBigLoser 发布于 2024-07-15

Stack的解释

Stack(栈)是一种后进先出(LIFO, Last In First Out)的数据结构。这意味着最后被添加到栈中的元素会是第一个被移除的。栈提供了三个主要的操作:push(压入),pop(弹出),和 peek(查看栈顶元素但不移除)。 用途及在游戏开发中的应用 栈的用途非常广泛,包括: 函数调用

OneBigLoser 发布于 2024-07-15

ArrayList 的解释、与array的区别

ArrayList 的解释 在 .NET 中,ArrayList 是一个可以动态增长和缩小的数组。它是基于数组实现的,但提供了更加灵活的操作方式,如自动调整大小。ArrayList 属于 System.Collections 命名空间。 基本概念 ArrayList 存储的是 Object

OneBigLoser 发布于 2024-07-15

抽象类与接口的区别

抽象类(Abstract Class)和接口(Interface)都是面向对象编程中用于实现抽象和多态的工具。它们有一些相似之处,也有一些关键的区别。 基本概念 抽象类: 抽象类是不能被实例化的类,意味着你不能直接创建一个抽象类的对象。 抽象类中可以包含抽象方法(没有实现的方法)和非抽象方法(有实现

OneBigLoser 发布于 2024-07-15

结构体(Structs)与类(Classes)的区别

在编程语言如C#中,结构体和类都是数据结构,用于封装数据和行为。它们之间的主要区别在于: 存储方式:结构体是值类型,而类是引用类型。这意味着结构体的数据存储在栈上,而类的数据存储在堆上。 继承:类可以继承其他类,从而实现代码的复用和扩展性。结构体不支持继承,但可以实现接口。 默认构造函数:结构体总是

OneBigLoser 发布于 2024-07-09

StringBuilder的基本概念

想象你正在写一篇作文。如果每次想要修改作文内容,都必须重新抄写整篇文章,那会非常麻烦。现在,如果你有一个特殊的橡皮,可以让你在原有的作文上直接修改,那就方便多了。 在编程中,StringBuilder就像这个特殊的橡皮。它允许你在原有的字符串上直接进行修改,而不需要每次都创建新的字符串。这在需要频繁

OneBigLoser 发布于 2024-07-09