考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了
C#篇、unity通用篇、unity3D篇、unity2D篇
。
- 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的同学入门。
- 【unity通用篇】:主要讲解unity的基础通用的知识,包括unity界面、unity脚本、unity资源管理、unity动画、unity摄像机等,适合unity初学者入门。
- 【unity3D篇】:主要讲解unity3D的知识,unity3D角色、unity3D物理系统、unity3D光照等,适合只想做2D游戏的开发者学习。
- 【unity2D篇】unity2D篇:主要讲解unity2D的知识,包括unity2D角色、unity2D物理系统、unity2D光照等,适合只想做3D游戏的开发者学习。
这样方便大家按需选择性的去学习,比如有编程基础的大概率可以直接从unity通用篇开始入门,没有编程基础的建议从C#篇开始学习。只想做2D游戏的话,可以直接从unity2D篇开始学习,3D篇大概率就不需要看了,节约学习时间成本。
文章目录
- 前言
- 一、命名参数
- 1、定义:
- 2、语法:
- 3、例子:
- 二、可选参数
- 1、定义:
- 2、注意事项:
- 3、语法:
- 4、例子:
- 三、组合使用命名参数与可选参数
- 四、补充说明
- 专栏推荐
- 完结
前言
命名参数和可选参数是C#中用于简化方法调用的特性,它们使得开发者可以在调用方法时不必严格遵循参数定义的顺序,并且可以选择性地省略那些具有默认值的参数。以下是关于这两个特性的详细说明、示例以及一些补充信息。
一、命名参数
1、定义:
命名参数允许你在调用方法时通过参数的名字来指定参数值,而不是依赖于它们在方法签名中的位置。这使得代码更易读,尤其是在参数数量较多或参数类型相似的情况下。
2、语法:
使用参数名后跟冒号(:
),然后是你要传递的值。
3、例子:
public void Test(int i, float f, bool b)
{Console.WriteLine($"i = {i}, f = {f}, b = {b}");
}// 使用命名参数调用
Test(i: 1, f: 1.2f, b: true); // 按照原顺序
Test(f: 3.3f, i: 5, b: false); // 改变顺序
Test(b: false, f: 3.4f, i: 3); // 完全不同的顺序
二、可选参数
1、定义:
可选参数是指在方法声明时为某些参数提供默认值。如果调用者没有为这些参数提供具体的值,那么就会使用默认值。这样可以减少不必要的重载方法。
2、注意事项:
- 可选参数必须位于方法签名的所有非可选参数之后。
- 默认值只能是编译时常量或者
null
(对于引用类型)。
3、语法:
在参数列表中直接给参数赋默认值。
4、例子:
public void Test2(int i, bool b = true, string s = "123")
{Console.WriteLine($"i = {i}, b = {b}, s = {s}");
}// 调用时可以省略可选参数
Test2(1, true, "234"); // 所有参数都提供
Test2(1, s: "234"); // 省略中间的可选参数
Test2(1); // 使用所有默认值
三、组合使用命名参数与可选参数
你可以同时使用命名参数和可选参数,以获得更大的灵活性。例如,当有多个可选参数时,你不需要为前面的可选参数提供值,而是可以直接跳过并为后面的可选参数指定值。
例子:
// 组合使用命名参数和可选参数
Test2(1, s: "456"); // 跳过bool类型的可选参数,直接指定string类型的值
四、补充说明
-
性能影响:尽管使用命名参数可以使代码更加清晰易懂,但需要注意的是,过多地使用命名参数可能会对性能产生轻微的影响,因为编译器需要额外处理这些参数名称。不过,在大多数情况下,这种影响是可以忽略不计的。
-
API设计:当你设计一个公共库或框架时,合理使用可选参数可以帮助简化API的使用,但也要考虑到过度依赖可选参数可能会使API变得复杂。因此,应该权衡利弊,确保API既灵活又易于理解。
-
版本兼容性:如果你正在维护一个已经被广泛使用的库,添加新的可选参数时要小心,以避免破坏现有代码。通常建议在新版本中引入全新的方法重载,而不是修改现有的方法签名。
专栏推荐
地址 |
---|
【零基础入门unity游戏开发——C#篇】 |
【零基础入门unity游戏开发——unity通用篇】 |
【零基础入门unity游戏开发——unity3D篇】 |
【零基础入门unity游戏开发——unity2D篇】 |
【制作100个Unity游戏】 |
【推荐100个unity插件】 |
【实现100个unity特效】 |
【unity框架/工具集开发】 |
完结
好了,我是向宇
,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。
赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注
,你的每一次支持
都是我不断创作的最大动力。当然如果你发现了文章中存在错误
或者有更好的解决方法
,也欢迎评论私信告诉我哦!