C# 方法

Wesley13
• 阅读 679

一、简介

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

二、语法

函数的语法

public static 返回值类型 方法名(参数列表)
{

  方法体;
}  

描述:

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) {
    Program.PlayGame(); Program.WuDi(); Program.PlayGame(); Console.ReadKey(); } ///

    /// 正常玩游戏 /// public static void PlayGame() { Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("突然,顶到了一个无敌"); Console.WriteLine("屏幕停止"); } public static void WuDi() { Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("突然,顶到了一个无敌"); Console.WriteLine("屏幕开始闪烁"); Console.WriteLine("播放无限音乐"); } } }

  

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

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

namespace _02方法练习
{
    class Program
    {
        static void Main(string[] args)
        {
            //计算两个整数之间的最大值
           int max= Program.GetMax(1, 2);
            Console.WriteLine(max);
            Console.ReadKey();
        }
        /// <summary>
        /// 计算两个整数之间的最大的值并且将最大值返回
        /// </summary>
        /// <param name="n1">第一个整数</param>
        /// <param name="n2">第二整数</param>
        /// <returns>将最大值返回</returns>
        public static int GetMax(int n1,int n2)
        {
            //三元表示式
            return n1 > n2 ? n1 : n2;
        }
    }
} 

四、renturn作用

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

2.立即退出本次方法

五、总结

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

C# 方法

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

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

  1. 传递参数;

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

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

1)返回值

实例

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

C# 方法

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

C# 方法

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

C# 方法

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
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
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
HIVE 时间操作函数
日期函数UNIX时间戳转日期函数: from\_unixtime语法:   from\_unixtime(bigint unixtime\, string format\)返回值: string说明: 转化UNIX时间戳(从19700101 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式举例:hive   selec
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL(六)DQL之常见函数
概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名好处:1、隐藏了实现细节 2、提高代码的重用性调用:select函数名(实参列表)【from表】;1、字符函数1.1、length获取参数值的字节个数SELECTLENGTH('john');1.2、concat拼接字符
Wesley13 Wesley13
3年前
JAVA自学笔记05
JAVA自学笔记051、方法1)方法就是完成特定功能的代码块,类似C语言中的函数。2)格式:修饰符返回值类型方法名(参数类型参数名1,参数类型参数名2,…){函数体;return返回值;}①修饰符:对于初学者使用publicstatic②返回值类型:方法结果的类型③方
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这