【从零开始入门unity游戏开发之——C#篇13】命名规范——驼峰命名法和帕斯卡命名法,函数(方法)的使用介绍

文章目录

一、命名规范

驼峰命名法 (Camel Case)和帕斯卡命名法(Pascal Case)是两种常见的命名约定,广泛用于编程语言中,尤其是在 C# 中。

1、驼峰命名法(Camel Case)

驼峰命名法的特点是:

  • 第一个字母小写,后续单词的首字母大写。
  • 例子:myVariableNameuserAgecalculateTotalAmount

这种命名法形状类似于驼峰,因此得名"驼峰命名法"。

用途:

  • 驼峰命名法通常用于局部变量、方法的参数和私有字段的命名。
  • 在 C# 中,通常对私有字段和局部变量使用小写字母开头的驼峰命名法。

示例:

csharp 复制代码
class ExampleClass
{
    private int myField;  // 私有字段(通常使用驼峰命名法)

    public void CalculateSum(int firstNumber, int secondNumber)  // 方法参数(驼峰命名法)
    {
        int result = firstNumber + secondNumber;  // 局部变量(驼峰命名法)
    }
}

2、帕斯卡命名法(Pascal Case)

帕斯卡命名法的特点是:

  • 每个单词的首字母都大写,没有下划线或其他分隔符。
  • 例子:MyClassNameCalculateTotalAmountFirstName

这种命名法形状像"帕斯卡"(Pascal)三角形的结构,所以叫做"帕斯卡命名法"。

用途:

  • 在 C# 中,类名方法名属性名公共字段名 通常使用帕斯卡命名法。
  • 命名空间枚举类型也采用帕斯卡命名法。

示例:

csharp 复制代码
class MyClassName  // 类名(帕斯卡命名法)
{
    public int MyProperty { get; set; }  // 属性名(帕斯卡命名法)

    public void CalculateTotalAmount()  // 方法名(帕斯卡命名法)
    {
        // 逻辑
    }
}

3、C# 中命名约定的最佳实践

在 C# 中,使用哪种命名法取决于代码的对象类型(变量、方法、类、属性等)。微软的官方 C# 编码规范对命名有明确的建议。

3.1 类、结构体、接口、枚举、委托

  • 命名法 :使用帕斯卡命名法(Pascal Case)。
  • 示例
    • class Person
    • struct Point
    • interface IShape(接口名以"I"开头)
    • enum DaysOfWeek

3.2 方法、属性、事件

  • 命名法 :使用帕斯卡命名法(Pascal Case)。
  • 示例
    • public void CalculateSalary()
    • public string GetName()
    • public event EventHandler OnDataChanged

3.3 字段(私有字段)

  • 命名法 :对于私有字段 ,使用驼峰命名法 (Camel Case),并且在私有字段前面常常加上一个下划线(_)作为前缀。
  • 示例
    • private int _age
    • private string _firstName

3.4 局部变量

  • 命名法 :使用驼峰命名法(Camel Case)。
  • 示例
    • int totalAmount
    • string customerName

3.5 常量

  • 命名法 :常量通常使用全大写字母,并用下划线分隔单词。
  • 示例
    • const int MAX_VALUE = 100
    • const string USER_ROLE_ADMIN = "admin"

3.6 接口

  • 命名法 :接口名通常以**I** 开头,并使用帕斯卡命名法
  • 示例
    • IEnumerable
    • IDisposable

4、总结

  • 驼峰命名法(Camel Case):第一个字母小写,常用于局部变量、方法参数和私有字段。
  • 帕斯卡命名法(Pascal Case):每个单词首字母大写,常用于类名、方法名、属性名、公共字段名、命名空间和枚举。

在 C# 中遵循这些命名约定有助于提高代码的可读性和一致性,同时使得代码更符合微软的编码标准,便于团队协作和代码维护。


二、函数(方法)

在C#中,函数 (通常称为方法 )是执行特定任务的代码块。方法可以包含参数、返回值以及执行某些操作的逻辑。C#中的方法通常与类(class)、接口(interface)或结构体(struct )关联,并且是对象行为的核心部分。方法允许我们将代码组织成可重用的单元。

函数(方法)本质就是一块具有名称的代码块,可以使用函数(方法)的名称来执行该代码块,函数(方法)是封装进行重复使用的一种机制。

1、方法的基本语法

一个方法通常由以下几个部分组成:

  • 访问修饰符 :定义方法的可访问性(如 publicprivateprotected 等)。
  • 返回类型 :方法返回的值的数据类型。如果方法不返回值,则使用 void
  • 方法名:方法的名称,用来标识方法。
  • 参数列表(可选):方法接收的输入参数。
  • 方法体:包含方法执行逻辑的代码块。
csharp 复制代码
// 方法定义
public int AddNumbers(int num1, int num2)
{
    return num1 + num2;
}

2、方法的组成部分详细讲解

a. 访问修饰符

  • public:方法可以在任何地方访问。
  • private:方法只能在定义它的类中访问。
  • protected:方法可以在当前类和派生类中访问。
  • internal:方法在同一程序集内可访问。
  • protected internal:方法在同一程序集内或派生类中可访问。

b. 返回类型

方法返回的类型定义了该方法返回的数据类型。常见的返回类型包括:

  • void:表示方法不返回任何值。
  • 基本数据类型(如 intstringbool 等)。
  • 自定义类型(如类、结构体、枚举等)。
csharp 复制代码
public void PrintMessage(string message)
{
    Console.WriteLine(message);
}

c. 方法名

方法名用于标识方法,遵循 C# 的标识符命名规则。通常,方法名采用 Pascal命名法(首字母大写)。

d. 参数列表

方法的参数用于接收传递给方法的输入值。参数列表可以为空,也可以包含一个或多个参数。每个参数都需要指定类型和名称。

csharp 复制代码
public int MultiplyNumbers(int a, int b)
{
    return a * b;
}

e. 方法体

方法体包含方法实际执行的逻辑代码。代码块用 {} 括起来。

3、返回值

方法可以根据需要返回一个值。例如,下面的 AddNumbers 方法返回一个整数:

csharp 复制代码
public int AddNumbers(int a, int b)
{
    return a + b;
}

如果方法的返回类型是 void,则方法没有返回值:

csharp 复制代码
public void PrintMessage(string message)
{
    Console.WriteLine(message);
}

4、调用方法

调用方法时,需要提供方法名和传递适当的参数(如果方法有参数)。对于有返回值的方法,可以使用返回的值。

csharp 复制代码
int result = AddNumbers(5, 10);  // 调用有返回值的方法
Console.WriteLine(result);        // 输出 15

PrintMessage("Hello, World!");  // 调用没有返回值的方法

5、使用return中途退出方法

即使函数没有返回值,我们也可以使用return

returni可以直接不执行之后的代码,直接返回到函数外部

csharp 复制代码
public void PrintMessage(string message)
{
    if(message == "结束"){
    	return;
    } 
    Console.WriteLine(message);
}

调用方法时如果传的是"结束",则不会继续执行下面的打印

6、方法重载(Overloading)

C# 允许方法重载,即可以定义多个同名但参数不同的方法。重载方法的区别通常体现在参数的数量、类型或顺序上。

csharp 复制代码
public int AddNumbers(int a, int b)
{
    return a + b;
}

public double AddNumbers(double a, double b)
{
    return a + b;
}

public string AddNumbers(string a, string b)
{
    return a + b;
}

7、默认参数

C#支持为方法的参数指定默认值。如果调用方法时未提供这些参数的值,C#将使用默认值。

csharp 复制代码
public int MultiplyNumbers(int a, int b = 2)
{
    return a * b;
}

// 调用时可以省略 b 参数,使用默认值 2
int result1 = MultiplyNumbers(5);  // 输出 10
int result2 = MultiplyNumbers(5, 3);  // 输出 15

8、递归方法

方法还可以调用自身,这被称为递归。递归方法通常有一个终止条件,否则会导致无限循环。

csharp 复制代码
public int Factorial(int n)
{
    if (n == 0)
        return 1;
    else
        return n * Factorial(n - 1); // 递归调用
}

9、静态方法(Static Methods)

静态方法属于类而不是类的实例,可以通过类直接调用,而无需创建类的对象。

csharp 复制代码
public class MathUtility
{
    public static int AddNumbers(int a, int b)
    {
        return a + b;
    }
}

// 调用静态方法
int result = MathUtility.AddNumbers(5, 10); 

10、总结

  • 方法是 C# 中组织和复用代码的核心机制。
  • 方法通过 访问修饰符返回类型方法名参数列表方法体 组成。
  • 方法可以有返回值,也可以没有(void)。
  • 方法重载默认参数递归 等特性使得方法的使用更加灵活。

专栏推荐

地址
【从零开始入门unity游戏开发之------C#篇】
【从零开始入门unity游戏开发之------unity篇】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架开发】

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信或者加群找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~

相关推荐
蒂法就是我21 分钟前
详细说说Spring的IOC机制
java·后端·spring
程序员拂雨23 分钟前
Java知识框架
java·开发语言
秋野酱1 小时前
基于javaweb的SpringBoot高校图书馆座位预约系统设计与实现(源码+文档+部署讲解)
java·spring boot·后端
虾球xz1 小时前
游戏引擎学习第278天:将实体存储移入世界区块
数据库·c++·学习·游戏引擎
水水沝淼㵘1 小时前
嵌入式开发学习日志(数据结构--单链表)Day20
c语言·开发语言·数据结构·学习·算法
举一个梨子zz1 小时前
Java—— 可变参数、集合工具类、集合嵌套、不可变集合
java·开发语言·intellij-idea·需求分析
算法给的安全感1 小时前
bfs-最小步数问题
java·算法·宽度优先
iangyu1 小时前
【windows server脚本每天从网络盘复制到本地】
开发语言·windows·php
程序员拂雨1 小时前
Python知识框架
开发语言·python
jstart千语1 小时前
【消息队列】RabbitMQ基本认识
java·服务器·分布式·rabbitmq