C# 基础 —— 简单了解C#方法及重载与递归

方法

各种语言都有方法的概念,有的语言称其为函数或者过程。方法就是对一系列语句的命名,表示一个功能或者行为。如:Start、Update、Movement····· 使用方法可以提高代码的可重用性和可维护性(代码层次结构更清晰)。

语法

方法定义:
[访问修饰符] [可选修饰符] 返回类型 方法名称(参数列表)  // 方法名称首字母需大写
{
    // 方法体
    return 结果;
}
调用方法:
方法名称(参数);

方法:表示功能。

返回值:功能的结果。(方法定义者 告诉 方法调用者的 结果)

如果方法有返回值,方法体中必须有 return 语句,且返回的数据与返回值类型必须兼容。void 代表无返回值类型,方法体中 return 关键字可有可无。return 后面的语句将不再执行。调用方法时,如果需要结果,声明相应类型的变量接收返回值数据。

类型:数据类型 int、double、float、string

参数列表

参数:方法定义者需要调用者传递的信息(调用者向定义者提供的信息)。定义方法时叫形式参数,简称形参;调用方法时叫实际参数,简称实参。

实参与形参要一一对应(类型、顺序、数量)

学会调用别人提供的方法:

1、看名字猜,看描述

2、看参数(类型、名称、描述)

3、看返回值

4、测试
常见方法:

string str = "你好,世界!";
// 返回指定的索引位置插入指定字符串
str = str.Insert(2, "啊");
// 查找指定字符在字符串中的索引
int index = str.IndexOf('世');
// 给定长度删除所有字符后获取新字符串。如果未指定长度,则删除 指定索范围之后的所有字符。
str = str.Remove(2); // 你好
// 将原有字符串的某些片段替换成指定的新字符串片段
str = str.Replace('你', '它'); // 它好,世界!
// 确定此字符串实例的开头是否与指定的字符串匹配
bool re = str.StartsWith("你好"); // true
// 返回指定的子字符串是否出现在此字符串中
re = str.Contains("界"); // truestring str = "你好,世界!";
str = str.Insert(2, "啊");
方法重载

定义:方法名称相同,参数列表不同。

作用:在不同条件下,解决同一类问题,让调用者仅仅记忆一个方法。

递归

定义:方法内部调用自身的过程。

核心思想:将问题转移给范围缩小的子问题。

适用性:在解决某个问题的过程中,又遇到相同的问题。

优势:将特别复杂的问题简单化。

缺点:性能较差。

注意:堆栈是否溢出。

运行效率高,不利于调试。
C#代码:

// 计算阶乘(递归)
private static int GetFactorial(int num)
{
    /*
     3 * (3-1)
     2 * (2-1)
     1 return 1   return回上一步而不是调用者
     */
    if (num == 1) return 1;
    return num * GetFactorial(num - 1);
}
// 编写一个函数,就算当参数为8时的结果为多少?(使用递归实现)
// 1 - 2 + 3 - 4 + 5 - 6····
private static int GetValue(int num)
{
    if (num == 1) return 1;
    if (num % 2 == 0)
        return GetValue(num - 1) - num;
    else
        return GetValue(num - 1) + num;
}
static void Main2(string[] args)
{
    //int result = GetFactorial(3);
    int result1 = GetValue(8);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值