C#学习笔记(五)——函数

一、定义和使用函数。

       直接通过例子进行说明吧

class Program
    {
        static void Write()
        {
            Console.WriteLine("Test output from function");
        }

        static void Main(string[] args)
        {
            Write();
            Console.ReadKey();
        }
    }

1、函数的构架

(1)关键字:static 和 void

          static与面向对象的思维有关系,我们在这里先默认每个函数都需要加上这个关键字;

          void即使便是返回值为空的意思。、

(2)函数名后跟圆括号  e.g  Write();

(3)圆括号里面可以有参数,这个放在后面再讨论,

(4)一个要执行的代码块,放在花括号里面。

2、返回值

(1)当函数返回一个值时,可以采用以下两种方式修改函数

a、在函数声明中指定返回值得类型,但不使用关键字void;

b、使用return关键字结束函数的执行,把返回值传送给调用代码。

static <returnType> <functionName>()
{
      ……
      return <returnValue>;
}

(2)return 不一定要放在最后一行,也很经常用于直接跳出函数。

3、参数

(1)当函数接受参数的时候,就必须指定下列内容

a、函数在其定义指定接受的参数列表,以及这些参数的类型;

b、在每个函数调用中匹配的参数列表。

c、其中可以有任意多个参数,每个参数都有一个类型和一个名称,参数用逗号隔开。每个参数都在函数的代码中用作一个变量。

(2)一个demo

namespace Exercise
{
    class Program
    {
        static int MaxValue(int[] intArray)
        {
            int maxVal = intArray[0];
            for(int i=1;i<intArray.Length;i++)
            {
                if(intArray[i]>maxVal)
                {
                    maxVal = intArray[i];
                }
            }
            return maxVal;
        }

        static void Main(string[] args)
        {
            int[] myArray = { 1, 5, 7, 99, 7, 8, 9, 3 };
            int maxVal = MaxValue(myArray);
            Console.WriteLine("The maximum value in myArray is {0}", maxVal);
            Console.ReadKey();
        }
    }
}

运行结果是:

(3)参数匹配

时间: 2024-10-15 23:47:18

C#学习笔记(五)——函数的相关文章

Lua学习笔记(五):函数

函数有两种用途: 1).完成指定的任务,这种情况下函数作为调用语句使用: 2).计算并返回值,这种情况下函数作为赋值语句表达式使用. 1 function func_name (arguments-list) 2 statements-list; 3 end; 4 5 --调用函数的时候,如果参数列表为空,必须使用()表明是函数调用 6 print(8*9, 9/8) 7 a = math.sin(3) + math.cos(10) 8 print(os.date()) 9 10 --上述规则有

Caliburn.Micro学习笔记(五)----协同IResult

Caliburn.Micro学习笔记(五)----协同IResult 今天说一下协同IResult 看一下IResult接口 /// <summary> /// Allows custom code to execute after the return of a action. /// </summary> public interface IResult { /// <summary> /// Executes the result using the specif

angular学习笔记(五)-阶乘计算实例(1)

<!DOCTYPE html> <html ng-app> <head> <title>2.3.2计算阶乘实例1</title> <meta charset="utf-8"> <script src="../angular.js"></script> <script src="script.js"></script> </

Linux System Programming 学习笔记(五) 进程管理

1. 进程是unix系统中两个最重要的基础抽象之一(另一个是文件) A process is a running program A thread is the unit of activity inside of a process the virtualization of memory is associated with the process, the threads all share the same memory address space 2. pid The idle pro

java之jvm学习笔记五(实践写自己的类装载器)

java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类装载器和安全管理器是可以被动态扩展的,或者说,他们是可以由用户自己定制的,今天我们就是动手试试,怎么做这部分的实践,当然,在阅读本篇之前,至少要阅读过笔记三. 下面我们先来动态扩展一个类装载器,当然这只是一个比较小的demo,旨在让大家有个比较形象的概念. 第一步,首先定义自己的类装载器,从Clas

python之list(学习笔记五)

python之list(学习笔记五) Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出公司里同事的名字,就可以用一个list表示: >>> worker = ['wtf','laotan','xiaoxian'] >>> worker ['wtf', 'laotan', 'xiaoxian'] 变量 worker 就是一个list.用 len() 函数可以获得list元素的个数: >>>

Boost Thread学习笔记五

多线程编程中还有一个重要的概念:Thread Local Store(TLS,线程局部存储),在boost中,TLS也被称作TSS,Thread Specific Storage.boost::thread库为我们提供了一个接口简单的TLS的面向对象的封装,以下是tss类的接口定义: class tss{public:    tss(boost::function1<void, void*>* pcleanup);    void* get() const;    void set(void*

Android学习笔记五之Service

Android学习笔记五之Service 1.什么是Service? 什么是Service?Service是Android系统的四大组件之一,官方文档是这样描述Service的: A Service is an application component that can perform long-running operations in the background and does not provide a user interface. Another application comp

jQuery源码学习笔记五 六 七 八 转

jQuery源码学习笔记五 六 七 八 转 Js代码   <p>在正式深入jQuery的核心功能选择器之前,还有一些方法,基本都是数组方法,用于遴选更具体的需求,如获得某个元素的所有祖选元素啦,等等.接着是其缓存机制data.</p> <pre class="brush:javascript;gutter:false;toolbar:false"> //@author  司徒正美|なさみ|cheng http://www.cnblogs.com/ru

laravel3学习笔记(五)

原作者博客:ieqi.net ==================================================================================================== 模型 在MVC模式的Web框架中,模型Model作为数据的抽象而存在,在Model层中,我们放置直接对数据的各种处理和操作,然后将抽象过的数据操作暴露为Model类给控制器,这样,在控制器中我们就不必拘泥于处理具体数据现实的各种细节中了,比如数据库如何连接,数据的类型