Csharp零基础:方法

本文详细介绍了C#中的方法概念,包括静态方法、方法重载、参数传递方式等,并通过实例展示了ref和out关键字的使用。

静态方法  static 修饰的方法叫做静态方法

方法的是三要素:返回值类型 方法名 参数

返回值类型包含:void  值类型引用类型

方法名的规范:大驼峰命名法 

Main方法的返回值类型只能是void int 

Main方法的参数可有但是必须是string[]类型的

方法的名字在同一个类中是不能重复的

Main方法里面进行调用的时候传入的参数是实际参数简称实参

           int numbers =10;

           PrintGraphic(numbers)

先对方法定义

       然后在Main方法中调用

       方法后面的括号是一个参数列表 里面的变量是形式参数 简称形参类似一个傀儡

 static void PrintGraphic(int lines)

       {

           for (int i = 0; i < lines; i++)

           {

                for (int j = 0; j <=i; j++)

                {

                    Console.Write("*");

                }

                Console.WriteLine();

重载的条件有以下几个条件:

       // 方法名必须一致

       //参数列表不同

       //参数列表的情况有以下几种情况

       //参数的数量不同

       //参数的类型不同

       //参数的顺序不同

       //在方法中 参数名称没有什么实际的作用  只是用来区别不同的参数而已

       //参数列中的类型决定了实际参数的类型

必选参数和可选参数

方法里可以给声明的虚参数赋值,当主体方法中的实际参数不够时可以用方法里的虚参数补齐。实际参数优先于虚拟参数。

ref关键字

ref是可进可出的关键字。下面案例使Main方法中的num1和num2随Swap方法变化,都输出num1=20,num2=10;ref关键字相当于把两个方法的参数绑在一起。

static void Main(string[] args)

       {

           int num1 = 10;

           int num2 = 20;

           Swap(ref num1, ref num2);

           Console.WriteLine("+++ num1={0},num2={1}", num1, num2);

       }

       static void Swap(ref int num1,refint num2)

       {

           int temp = num1;

           num1 = num2;

           num2 = temp;

           Console.WriteLine("**** num1={0},num2={1}",num1,num2 );

       }

Out关键字

Out关键字是只出不进的关键字。下面的案例是week和day在Test方法中计算并输出给Main方法,使Main方法获得计算后的值。

  static void Main(string[] args)

       {

           int numbers = 46;

           int week;

           int day;

           Test(46, out week,out  day);

           Console.WriteLine("{0}{1}",week,day);

       }

       static void Test(int days,  out int week,outint day)

       {

           week = 0;

           day = 0;

           week = days / 7;

           day = days % 7;

       }


 


<think>我们正在讨论Unity的零基础入门学习。根据用户需求,我们需要提供清晰的学习路径和资源推荐。根据引用[1][2][3]:提供了Unity官网和下载教程,建议使用LTS版本,并推荐了siki学院的课程资料。引用[4]:提供了一套系统的Unity学习路线。引用[5]:提到了一些UnityAPI的使用(如音频播放),但用户目前处于零基础阶段,暂时不需要深入API。因此,我们规划一个循序渐进的学习路径:1.环境搭建:下载安装UnityHub和Unity编辑器(推荐LTS版本),安装VS2019作为代码编辑器。2.基础知识:了解Unity界面、基本概念(游戏对象、组件、场景等)。3.脚本编程:学习C#基础,编写简单脚本控制游戏对象。4.项目实践:通过小项目(如RollABall)巩固知识。5.系统学习:按照学习路线逐步深入。具体步骤:第一步:环境搭建-访问Unity官网(中国用户建议使用unity.cn)下载UnityHub。-在UnityHub中安装一个UnityLTS版本(如2021LTS)。-安装VS2019(可在siki学院的课程资料中获取下载链接,避免版本兼容问题)。第二步:学习资源-官方教程:UnityLearn平台(https://learn.unity.com/)有免费入门课程。-推荐课程:siki学院的《Unity2021零基础入门学习教程-RollABall》(引用[1][2][3]均提到)。-中文教程:知乎专栏(https://zhuanlan.zhihu.com/p/433418045)提供Unity下载和安装指南。第三步:基础知识学习-界面:Scene视图、Game视图、Hierarchy、Project、Inspector等窗口。-概念:GameObject(游戏对象)、Component(组件)、Prefab(预制体)、Scene(场景)等。-操作:创建物体、添加组件(如Transform、Rigidbody、Collider等)、保存场景。第四步:C#编程基础-变量、条件语句、循环、函数、类。-Unity脚本生命周期(Awake,Start,Update等)。-常用API:Transform、GameObject、Input等类的使用。第五步:第一个项目-跟随RollABall教程创建一个小球控制游戏,学习:*创建基本3D物体*编写移动脚本(使用Input和Transform)*物理系统(Rigidbody、碰撞检测)*收集物品(触发检测)*创建UI显示分数第六步:扩展学习-2D游戏开发:精灵、瓦片地图、2D物理。-动画系统:Animator组件、状态机。-粒子系统:制作简单特效。-音频系统:AudioSource组件(引用[5]提到PlayOneShot方法,可在此阶段学习)。注意事项:-学习过程中多动手实践,尝试修改代码和参数观察效果。-遇到问题查阅Unity官方文档(https://docs.unity.cn/)或社区(如Unity中文论坛)。最后,学习是一个循序渐进的过程,不要急于求成,打好基础是关键。根据要求,生成相关问题:</think>### Unity零基础入门学习方法与教程推荐 #### 一、学习路径规划(循序渐进) 1. **环境搭建**(1-2天): - 安装Unity Hub:通过[Unity中国官网](https://unity.cn)下载安装器 - 选择**LTS长期支持版**(如2021.3 LTS)[^3] - 安装VS2019:推荐使用[siki学院《RollABall》课程资料包](https://zhuanlan.zhihu.com/p/433418045)中的版本[^1][^2] 2. **核心基础**(1-2周): ```mermaid graph LR A[界面认知] --> B[场景/游戏对象] B --> C[组件系统] C --> D[C#脚本编程] D --> E[物理系统] ``` - 必学概念:GameObject、Transform、Collider、Rigidbody、Prefab - 脚本基础:`Start()`/`Update()`生命周期、变量声明、Input控制 3. **实战项目**(推荐顺序): | 项目类型 | 推荐教程 | 技能目标 | |---|---|----| | 3D控制 | RollABall[^1] | 移动控制/碰撞检测 | | 2D平台 | Unity官方2D教程 | 精灵动画/瓦片地图 | | UI系统 | UGUI官方课程 | 界面交互/事件响应 | #### 二、高质量学习资源 1. **系统化教程**: - [Unity Learn平台](https://learn.unity.com):官方免费课程(需注册) - [siki学院《Unity2021零基础入门》](https://zhuanlan.zhihu.com/p/433418045):含完整项目实战[^1][^3] - [Unity从0到1系统学习路线](https://example.com/unity-roadmap):全面知识图谱(参考引用[^4]) 2. **文档与社区**: - 官方手册:[Unity User Manual](https://docs.unity3d.com/Manual) - 问题求解:[Unity中文论坛](https://forum.unity.cn) - 代码参考:[Unity API文档](https://docs.unity3d.com/ScriptReference) 3. **关键技巧**: - 调试技巧:`Debug.Log()`输出 + 控制台错误分析 - 版本管理:使用Git + .gitignore(避免库文件冲突) - 性能意识:早期关注`Stats`面板帧率指标 #### 三、高效学习建议 1. **开发习惯**: - 每天1小时编码(优于周末突击) - 每完成小功能即时测试 - 使用注释规范:`// 移动控制 v1.0 - 2023/08` 2. **避坑指南**: - 避免使用Beta版Unity(稳定性差)[^3] - 勿直接复制复杂项目(从核心功能拆解) - 数学基础弱时先补向量运算:$\vec{v} = (x,y,z)$ 3. **进阶衔接**: ```csharp // 音频播放示例(引用[^5]) void PlaySound(){ audioSource.PlayOneShot(audioClip); // 不打断当前音频的播放方式 } ``` 掌握此类API后,可深入[Unity Asset Store]研究插件机制 > **重要提示**:完成首个项目后,务必重构代码,尝试优化方案(如将魔法数字替换为常量)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值