C#编程基础(初级)(五)——函数,结构函数,委托
2019-04-11 10:42
916 查看
1.函数
- 定义:
static returnType FunctionName(paramTyme paramName)
{
…
return returnValue;
}
其中static是关键字,注意函数名首字母大写。
函数与数组
- 数组参数:
函数调用时,需要自己手动构造数组
可直接在传参时定义数组。
如:
int sum = Sum(new int[] { 20, 20, 20, 20, 20 });
- 参数数组:
函数调用时,可以传递任意多个参数,编译器会将传递的参数构造成一个数组(即减少了一个创建数组的过程)。
格式:static void FunctionName(params arrayType[] arrayName)
两者示例如:
static void Fun1(int[] goddy1) { for (int i = 0; i < goddy1.Length; i++) { Console.Write(goddy1[i] + " "); } } static void Fun2(params int[] goddy2) { for (int i = 0; i < goddy2.Length; i++) { Console.Write(goddy2[i] + " "); } }
若Main中
int[] goddyArray = { 20, 20, 20, 20, 20 }; Fun1(goddyArray); Console.Write('\n'); Fun2(20, 20, 20, 20, 20, 201);
输出为
2.结构函数
把有关结构体的一些固定操作在结构体中定义为一个函数,这个函数可以通过结构体声明的变量调用,若这个函数有参数,则在调用的时候需要传参,且这个函数可以使用结构体中的属性。
例如:
struct Goddy { public string g; public string o; public string d; public string Connect() { return g + o + d + "~!"; } }
若
Goddy goddy; goddy.g = "Have a "; goddy.o = "nice~"; goddy.d = "day"; Console.WriteLine(goddy.Connect());
输出为
又例如:
struct Goddy { public int eq; public int iq; public int fabq; public int TheTruth(int xq) { return (int)Math.Exp(xq); } }
若
Goddy goddy; goddy.eq = 19; goddy.iq = 20; goddy.fabq = 2333; goddy.fabq = goddy.TheTruth(goddy.eq)+ goddy.TheTruth(goddy.iq); Console.WriteLine(goddy.fabq);
输出为
3.委托
委托(delegate)是一种存储函数引用的类型。它的定义指定了一个返回类型和一个参数列表,定义了委托之后,就可以声明该委托类型的变量,接着就可以把一个返回类型和参数列表跟委托一样的函数赋值给这个变量。
- 定义
如:public/private/protected delegate type name(type param1,type param2,...);
注意:委托的定义不需要函数体
注意:当给一个委托的变量赋值的时候,函数的返回值和参数列表必须跟委托一样,否则无法赋值。
例如:
//注意在命名空间下 public delegate string GodSSea(string sea); //注意在类中 static string DreamPower(string sea) { return sea+" "+"yeah"; } static string DreamHigh(string sea) { return sea+" "+"cool"; }
若
GodSSea sea; sea = DreamPower; Console.WriteLine(sea("Greatest")); sea = DreamHigh; Console.WriteLine(sea("Generous"));
输出为
相关文章推荐
- C#编程.函数.委托
- c#基础语言编程-常用函数
- 黑马程序员 JAVA初级-编程基础2 流程控制语句 函数 数组
- 【小松教你手游开发】【面试必读(编程基础)】C# 委托浅析与漫谈
- c#基础语言编程-常用函数
- c#编程基础之函数可变参数
- C# vs C++之一:委托 vs 函数指针
- C#编程利器之四:委托与事件(Delegate and event) (上)
- (原创)c#学习笔记06--函数04--结构函数
- [C# 基础知识系列]专题三:如何用委托包装多个方法——委托链
- [C# 基础知识系列]专题三:如何用委托包装多个方法——委托链
- 30天C#基础巩固------了解委托,string练习
- C#中委托实现的异步编程
- 【C#基础知识】——初识委托(delegate)
- Linux初级运维(十五)——bash脚本编程之函数
- C#基础-委托事件和类(Day8)
- [转]何时使用委托而不使用接口(C# 编程指南)
- C# 高级编程——Action 委托
- C# 委托 C函数指针
- c#经典基础编程