C# 方法

一、简介

方法可以称为函数,函数又可以称为方法,方法主要的作用是将一堆代码进行重用的一种机制,避免太多的冗余的代码,还有方便后期维护。

二、语法

函数的语法

1public static 返回值类型 方法名(参数列表) 2{ 3 4 方法体; 5}  

描述:

public:访问修饰符,公开的;

static:静态的;

返回值类型:比如int 、string 、double等的类型,如果不写返回值类型,就写void;

方法名:方法名的命名规范Pascal,每个单词的首字母大写,其余字母的小写;

参数列表:完成这个方法所必须要提供这个方法条件,如果没有参数,小括号不能省略。

方法的调用:

方法写好后,如果想要执行,必须再Main()函数(主函数)中调用。

方法调用的语法:

类名.方法名(参数名);

**注意:**在某些情况下,类名是可以省略的,如果你写的方法和Main()函数在同一个类中,类名可以省略。

三、实例

1.写简单的游戏的练习:闪烁   播放一段特殊的背景音乐 屏幕停止

  1. 用之前学过的Console.WriteLine写出

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

    namespace _01方法 { class Program { static void Main(string[] args) { #region //闪烁 播放一段特殊的背景音乐 屏幕停止 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("突然,顶到了一个无敌"); Console.WriteLine("屏幕停止"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("突然,顶到了一个无敌"); Console.WriteLine("屏幕开始闪烁"); Console.WriteLine("播放无限音乐"); #endregion Console.ReadKey(); }
    } } 

  2. 我们把上面写这些冗余的代码封装成方法,不停去调用这个方法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

    namespace _01方法 { class Program { static void Main(string[] args) {

    1 Program.PlayGame(); 2 Program.WuDi(); 3 Program.PlayGame(); 4 Console.ReadKey(); 5 } 6 7 /// <summary> 8 /// 正常玩游戏 9 /// </summary> 10 public static void PlayGame() 11 { 12 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 13 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 14 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 15 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 16 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 17 Console.WriteLine("突然,顶到了一个无敌"); 18 Console.WriteLine("屏幕停止"); 19 } 20 21 public static void WuDi() 22 { 23 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 24 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 25 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 26 Console.WriteLine("突然,顶到了一个无敌"); 27 Console.WriteLine("屏幕开始闪烁"); 28 Console.WriteLine("播放无限音乐"); 29 } 30 }

    }  

2.计算两个整数之间的最大值

1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6 7namespace _02方法练习 8{ 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //计算两个整数之间的最大值 14 int max= Program.GetMax(1, 2); 15 Console.WriteLine(max); 16 Console.ReadKey(); 17 } 18 /// <summary> 19 /// 计算两个整数之间的最大的值并且将最大值返回 20 /// </summary> 21 /// <param name="n1">第一个整数</param> 22 /// <param name="n2">第二整数</param> 23 /// <returns>将最大值返回</returns> 24 public static int GetMax(int n1,int n2) 25 { 26 //三元表示式 27 return n1 > n2 ? n1 : n2; 28 } 29 } 30} 

四、renturn作用

1.在方法中返回要返回的值

2.立即退出本次方法

五、总结

如图所示:该方法报错,Test()函数想要调用Main()函数的a值,但是程序不能调用,有两种解决方法允许调用,如下:

我们在Main()函数中,调用Test()函数,我们管Main函数称为调用者,被调用者的Test()函数被称为被调用者:

如果被调用者想要得到调用者的值:

  1. 传递参数;

  2. 使用静态字段来模拟全局的变量;

如果调用者想要得到被调用着的值:

1)返回值

实例

如图所示,被调用者想要得到调用者的,使用传递参数

如图所示,被调用者想要得到调用者的值,使用静态字段来模拟全局的变量

 如图所示,如果调用者想要得到被调用着的值,使用返回值

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

mysql设置时区

mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0