自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 C# OnMouseDown

主要用于检测鼠标点击事件,并执行相应的逻辑。(触发条件:鼠标左键按下且鼠标指针悬停在带有 Collider 的对象上。是 Unity 引擎中的一个内置消息函数,属于 MonoBehaviour 类。

2025-04-21 14:30:36 133

原创 C# 基类型和派生类型之间的转型

myAnimal 实际上是一个 Dog 对象,所以我们可以通过 (Dog) 强制将其转换回 Dog 类型。如果 myAnimal 不是 Dog 类型(比如它是 Cat 类型),会抛出运行时异常。这里Dog是Animal的子类,Animal是Dog的父类。向下转型:从基类型到派生类型,范围变具体(动物具体化为狗);向上转型:从派生类型到基类型,范围变宽泛(狗看作动物);子类,继承了父类的属性和方法,还可以添加自己的新功能。当你需要访问子类特有的方法或属性时。父类,所有子类都继承自它。

2025-04-15 11:21:24 299

原创 Unity 常见报错 定位和查找方法

(1)在你想打断点的行,左边空白处点击可以打断点,再次点击可以取消断点。(3)通过打断点查看变量的实际数值,来判断当前是否有问题。(4)若遇到需要循环很多次的,可以使用。可能发生报错的代码,然后断点打在。(2)断点状态下能进行的操作。

2025-04-01 14:45:20 301

原创 C# 派生 详解

注意:1.通过继承,基类的每个成员都出现在派生类构成的链条中。设计的目的:经常需要扩展现有类型来添加功能(行为和数据)。2.除非明确指定基类,否则所有类都。要在类标识符后添加冒号,接着添加基类名称。

2025-03-20 09:23:46 526

原创 C# 分部类 详解

分部类的目的:将一个类的定义划分到多个文件中。通过分部类,由工具处理的文件可独立于开发者手动编码的文件。只能存在于分部类中,而且和分部类相似,主要作用是为代码生成提供方便。分部类:是一个类的多个部分,编译器可把它们合并成一个完整的类。从C#3.0引入分部方法概念,对C#2.0的分部类进行了扩展。使用class前的上下文关键字。从C#2.0起支持分部类。允许声明方法而不需要实现。

2025-03-17 11:09:05 375

原创 C# 嵌套类 详解

注意:避免声明公共嵌套类型,少数高级自定义场景才需考虑。一个类在它的包容类外没有多大意义,就适合设计成嵌套类。包容类(外部类):包含嵌套类的类。嵌套类:定义在另一个类内部的类。

2025-03-17 10:43:12 161

原创 C# 封装数据 详解

readonly修饰符只能用于字段(不能用于局部变量),它指出字段值只能从构造函数中更改,或在声明通过初始化器指定。字段可以在声明时或在构造函数中初始化,并且其值在对象创建后不能被修改。(2)不要为将来会发生变化的值使用常量字段。(1)要为永远不变的值使用常量字段;(声明局部变量时见过)和。

2025-03-14 10:52:08 213

原创 C# 扩展方法 详解

3.为了将方法作为扩展方法来访问,要用using指令导入扩展类型的命名空间,或将扩展类型和调用代码放在同一命名空间。注意:避免随便定义扩展方法,尤其是不要为自己无所有权的类型定义。2.为指定扩展方法,要在被扩展的类型名称前附加this修饰符;1.第一个参数是要扩展或者要操作的类型,称为“被扩展类型”;,使第一个参数成为要扩展的类型,并在类型名称前附加。C#3.0引入了扩展方法的概念,能。

2025-03-14 10:23:41 381

原创 C# 静态成员 详解

使用定义能由多个实例共享的数据。声明静态字段时只需在字段类型前加上static关键字。

2025-03-13 15:17:46 452

原创 C# 构造函数 详解

(3)初始化默认值:对于类中的字段和属性,如果没有显式初始化,它们将被赋予默认值(如int类型为0,string类型为null等)。当你没有为类显式定义任何构造函数时,编译器会自动为你生成一个无参数的默认构造函数。(3)可以有多个重载形式:可以通过不同的参数列表定义多个构造函数(构造函数重载)。通过解构函数,你可以从一个复杂对象中提取出多个成员变量,并将它们赋值给单独的变量。(2)自动提供:如果没有定义任何其他构造函数,编译器会自动生成一个默认构造函数;,并且会在你创建类的实例时被调用。

2025-03-12 16:43:10 635

原创 C# 属性 详解

但属性可能是无支持字段的虚字段。C#2.0允许在属性的实现中为get或set部分指定访问修饰符(但不能为两者都指定)从而覆盖为声明属性指定的访问修饰符。在属性验证中,赋值无效值时,可以抛出异常,抛出异常时,要传递参数"value"。它是属性赋值方法隐含的参数名。更常见的作法,是将set设置为 私有的,get设置为公有的。可移除属性的取值方法或赋值方法来改变属性的可访问性。一般原则是 方法代表行动,而属性代表数据。,其他时候都应该使用只读自动实现属性。等,用于定义更复杂的验证规则。

2025-03-12 13:12:54 624

原创 C# 访问修饰符 详解

五个访问修饰符:public、private、protected、internal和protected internal.访问修饰符的作用:提供封装。封装的作用:不仅组合数据和行为,还能隐藏类中的数据和行为的实现细节,使类的内部工作机制不暴露。如果,那就。公共成员 则显示指定。公开访问。任何地方都可以访问该成员。:当你需要让某个成员在整个应用程序中都可访问时使用。

2025-03-10 20:32:09 284

原创 C# 使用this关键字 详解

这里面this.name的name是private string name;的name,等号后面的name是 public Person(string name) 里面的参数name。调用任何实例成员时 this 都是隐含的,它返回对象本身的实例。this 关键字 只在必要时才应使用。用于引用当前类的实例对象。的值赋给类的成员变量。

2025-03-10 15:38:31 247

原创 C# 实例字段 详解

是在类的级别上声明的变量,用于存储与对象(实例)关联的数据。public private proteccted 等。在类中存储数据 的变量 被称为 成员变量。字段若不包含static修饰符,说明它是实例字段;string int float 等。并且可以在定义 的同时 进行。可以设置和获取字段中的数据;,无法直接从类中访问。定义实例字段 名称,

2025-03-10 13:57:36 333

原创 C# 类的声明和实例化 详解

设计规范:不要在一个源代码文件中放多个类。用类名对文件进行命名,这样可以更容易地寻找定义了一个特定类地代码。类是模板,定义了对象在实例化时看起来像什么样子;从类创建对象地过程称为。(通俗讲 类 就像 模具,定义了零件的样子,对象就是用这个模具创建的零件)。C# 的 new是对象的实例化,和内存分配无关。class 标识符 { }类的新实例,并将其引用赋值给变量。

2025-03-10 11:05:46 292

原创 C# 可选参数 详解

可选参数(Optional Parameters)是一种允许开发者在定义方法时。的机制,如果未传递这些参数的值,系统将自动使用默认值。在方法声明中,通过在参数后指定默认值来定义可选参数。简化了代码,增强了方法的灵活性和可读性。

2025-03-07 09:38:26 303

原创 C# 方法重载 详解

回值类型不参与重载判定:即使两个方法的返回值类型不同,只要它们的参数列表相同,编译器也会报错。参数列表必须不同:参数列表的不同可以体现在参数的类型、个数或顺序上。方法 的 唯一性 取决于方法名、参数数据类型或参数数量的差异。方法名称必须相同:所有重载的方法必须使用相同的名称。编译器会根据调用时传递的参数类型来决定调用哪个方法。例如一个类包含两个或多个同名方法,就会发生方法重载。是一种允许在同一个类中定义多个方法名相同但。方法被重载了三次,分别接受无参数、一个。提供调用方法的多种方式,可以。

2025-03-06 15:48:33 221

原创 C# 递归 详解

递归 指 方法 调用 它自身。递归否则会造成无限递归,从而导致栈溢出错误。不遵守这个模式就可能出错。(如果不能将问题变得更小,或者不能处理所有可能的”最小“情况,就会递归个不停。else在递归函数中是,尤其是在基本情况已经明确且递归步骤是默认执行路径的情况下。

2025-03-06 10:06:56 591

原创 C# 高级方法参数 详解

对于方法调用的 参数 ,默认会把 值 传递 进方法;在方法声明中,参数前不加任何修饰符(如out或ref等)即为调用方法时,直接传递实参。值参数传递的是,方法内部对形参的修改不会影响实参的值。这种方式适用于不需要修改原始数据的场景。用于将变量的引用传递给方法,而不是传递变量的值,在方法内部对参数的修改会直接影响原始变量的值。在方法定义中,使用 ref关键字修饰参数在方法调用时,也必须使用 ref关键字传递参数。使用 out 会 定义一个 局部变量,,也会 传引用 到方法中,。

2025-03-05 14:25:32 658

原创 C# using指令 详解

在涉及数学运算时,可以直接使用System.Math类中的静态方法,如Sqrt、Pow等,而无需每次调用时都写Math.前缀。using static 指令允许将命名空间和类型名称都省略,只需写静态成员名称,可以显著提升代码的简洁性和可读性。完全限定的名称可能很长,很笨拙,使用using就可以不需要完全限定,就可以在代码中可以直接使用该命名空间中的类型。当需要频繁引用某个类中的静态常量时,using static 也可以简化代码。通常在文件顶部,或命名空间声明的顶部(只对命名空间有效,对文件无效)。

2025-03-04 10:08:08 201

原创 C# 方法的声明 详解

在 C# 中,方法的返回类型声明是定义方法时的重要组成部分,它决定了。2.有助于增强代码 可读性。重构方法:将一组重复性较高的语句转移到 一个方法中。参数列表写在 方法声明的 小括号中,使用逗号分隔。C#不支持全局方法,一切都必须在一个类型声明中。表达式主体方法 是 方法的 一种 简单写法,使用。是返回类型,表示该方法返回一个整数。在某些情况下,为了提高性能,可以使用。在异步编程中,方法的返回类型通常是。表示一个没有返回值的异步操作,而。作为返回类型:表示它不会返回任何值。,特别是在操作可能同步完成时。

2025-03-03 19:13:35 143

原创 编程中 减少编码量和可读性哪个更重要?

开发者应侧重于可读性,而不是在写更短的代码方面耗费时间和精力。可读性高的代码,更有利于维护。

2025-03-03 13:50:34 308

原创 C# 方法返回值 详解

返回值可以是任意类型,包括基本数据类型(如整数、布尔值等)、引用类型(如类、数组等),void(表示没有返回值)。

2025-03-03 13:44:17 157

原创 C# 形参和实参 详解

在C#中,形参(Formal Parameter)和实参(Actual Parameter)是函数调用过程中非常重要的概念。是在方法定义时指定的变量名,它们用于接收传递给该方法的实际值。形参仅存在于方法签名中,直到方法被调用时才会分配内存空间。是在方法调用时实际传递给方法的具体值或表达式的结果。这些可以是常量、变量、表达式或其它方法的返回值。被调用时接收传递的值。

2025-03-03 09:10:56 204

原创 C# 方法名称 详解

在C#中,是用于执行特定任务的代码块。是调用该方法时使用的标识符,方法名称后跟一对小括号,里面放实参。实参 以 逗号进行分隔。

2025-02-28 09:28:32 139

原创 Unity 灯光烘焙之三种烘焙模式区别

特点:对于活动物体,按预设好的镜头到物体的距离切换ShadowMap和实时阴影。特点:所有场景灯光信息都是贴图,性能消耗最小,但是效果最差;:只烘焙间接光,采用实时阴影;特点:对于场景消耗是非常大的;烘焙直接光+间接光+阴影;烘焙直接光+间接光+阴影;

2025-02-27 10:17:31 222

原创 C# 作用域 详解

作用域指的是一个变量、方法、类或其他实体在其定义的区域内可见和可访问的范围.

2025-02-27 09:27:17 148

原创 C#命名空间详解

命名空间是一种分类机制,用于将功能相关的所有类型进行分组。通过命名空间,我们可以有效地组织代码,使其更易于查找和理解。3.防止类型名称冲突:有助于防止类型名称冲突,例如:两个Button,只要在不同命名空间,编译器就能区分。System命名空间是C#中最常用的命名空间之一,它包含许多用于执行基本编程活动的类型。2.按功能领域组织:命名空间主要按照功能领域进行组织,方便查找和理解类型;using指令 可以简化对特定命名空间中类型的访问,使代码更加简洁易读。遵循驼峰命名法,即个单词的首字母都大写。

2025-02-26 14:29:28 102

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除