C#——函数

c#抽象函数 今天使用到了C#的抽象函数,在继承的时候出了些问题,特此记录: 首先注意几个概念: 1、c#的抽象函数必须声明在抽象类中,即类前面要加:abstract关键字; 2、抽象函数不能有具体实现部分; 3、抽象函数在派生类中必须被重写,即派生类中要加:override关键字,并实现抽象函数; 简单记录一下今天测试的类: 基类: using System; using Sys 阅读详情

一、函数的定义(如下图)

函数,参数,返回值三者的关系(如例1)

  • 函数可能有返回值,可能会有参数。
  • 返回值是函数的执行结果,参数是函数做事所需要的一些数据。

例1:

[csharp]  view plain copy print ?
  1. namespace 函数  
  2. {  
  3.     class Program  
  4.     {  
  5.         static void Main(string[] args)  
  6.         {  
  7.             string s = Console.ReadLine();     //返回值,执行结果  
  8.             Console.WriteLine("1234");         //参数,做事所需要的一些数据  
  9.             int i = Convert.ToInt32("123");    //既有参数,又有返回值  
  10.         }  
  11.     }  
  12. }  

二、函数的分类

(1).net自制的函数

  如例1中的ReadLine()函数,WriteLine()函数,Convert.ToInt32()函数 等等

(2)自己写的函数

                         如例2,例3中的ReadInt()函数

先自己写函数,然后再调用自己写的函数。

例2:

[csharp]  view plain copy print ?
  1. namespace 函数1  
  2. {  
  3.     class Program  
  4.     {  
  5.         static void Main(string[] args)  
  6.         {  
  7.             int i = ReadInt();  
  8.             i++;  
  9.             Console.WriteLine(i);  
  10.             Console.ReadKey();  
  11.   
  12.         }  
  13.         static int ReadInt()  
  14.         {  
  15.             //return "3"; //函数返回的数据类型必须和声明的返回值类型一样(不严谨)  
  16.             return 3;  //return后跟要返回的数据  
  17.         }  
  18.     }  
  19. }  

函数一旦有返回值类型,就一定要有返回值,返回值的类型必须和声明的返回值类型一样,return后跟返回值。

例3:

[csharp]  view plain copy print ?
  1. namespace 函数1  
  2. {  
  3.     class Program  
  4.     {  
  5.         static void Main(string[] args)  
  6.         {  
  7.             int i = ReadInt();  
  8.             i++;  
  9.             Console.WriteLine(i);  
  10.             Console.ReadKey();  
  11.         }  
  12.   
  13.         /* 
  14.         static int ReadInt() 
  15.         { 
  16.             string s = Console.ReadLine(); 
  17.             int i = Convert.ToInt32(s); 
  18.             return i; 
  19.         } 
  20.          */  
  21.   
  22.         //另一种写法:直接返回  
  23.         static int ReadInt()  
  24.         {  
  25.             string s = Console.ReadLine();  
  26.             return Convert.ToInt32(s);   //直接将ToInt32的返回值返回,买空卖空!  
  27.         }  
  28.     }  
  29. }  

注意:函数的执行顺序是先进来,再回来。

例4:自己写的有返回值的函数,无返回值的函数

[csharp]  view plain copy print ?
  1. namespace 函数2  
  2. {  
  3.     class Program  
  4.     {  
  5.         static void Main(string[] args)  
  6.         {  
  7.                
  8.         }  
  9.         //自己写函数  
  10.         static int CT(string s)  
  11.         {  
  12.             if (s == "tom")  
  13.             {  
  14.                 return 1;  
  15.             }  
  16.             if (s == "herry")  
  17.             {  
  18.                 return 0;  
  19.             }  
  20.             return -1;   //一旦有返回值类型,就一定要有返回值。  
  21.         }  
  22.         static void SayHello()    //函数如果没有返回值则标记返回值类型为void.  
  23.         {  
  24.             int i = 3;  
  25.             if (i > 10)  
  26.             {  
  27.                 return;  
  28.             }  
  29.             Console.WriteLine("哈喽哇!");  
  30.             Console.ReadKey();  
  31.         }  
  32.     }  
  33. }  


自己写函数要注意:

函数一旦有返回值类型,就一定要有返回值。

函数如果没有返回值则标记返回值类型为void.

return语句,导致函数立即返回。

在返回值为void的函数中return,在返回值非void的函数中return数值。

三、函数的参数

函数的参数可分为可变参数和非可变参数

(1)非可变参数

非可变参数:参数的个数是确定的(如例5,例6,例7中自己写的函数的参数个数都是确定的)。

 

确定函数参数的原则:自己能确定的数据自己内部解决,自己确定不了的数据通过参数传递。

函数的参数不只一个,函数可以有两个参数(如例5)

函数的参数不但可以是简单的数据类型,还可以是数组(如例6)

例5:计算两个整数中的最大值:Int Max(int i1,int i2)

[csharp]  view plain copy print ?
  1. namespace 函数3  
  2. {  
  3.     class Program  
  4.     {  
  5.         static void Main(string[] args)  
  6.         {  
  7.             //计算两个整数中的最大值:Int Max(int i1,int i2)  
  8.             Console.WriteLine(Max(30,50));  
  9.             Console.ReadKey();  
  10.         }  
  11.         static int Max(int i1,int i2)   //函数可以有两个参数  
  12.         {  
  13.             if (i1 > i2)  
  14.             {  
  15.                 return i1;  
  16.             }  
  17.             return i2;  
  18.         }  
  19.     }  
  20. }  

例6:计算数组中所有元素的和

参数可以是数组

[csharp]  view plain copy print ?
  1. namespace 函数4  
  2. {  
  3.     class Program  
  4.     {  
  5.         static void Main(string[] args)  
  6.         {  
  7.             //计算输入数组的和  
  8.             int[]values={3,5,6,9};  
  9.             int sum = Sum(values);  
  10.             Console.WriteLine(sum);  
  11.             Console.ReadKey();  
  12.   
  13.         }  
  14.         static int Sum(int[]values)  
  15.         {  
  16.             int sum = 0;  
  17.             foreach (int i in values)  
  18.             {  
  19.                 sum = sum + i;  
  20.             }  
  21.             return sum;  
  22.         }  
  23.     }  
  24. }  

注意:函数内部的变量名和函数外部的变量名没有任何的关系。(只是看起来名字重复,其实没有任何关系。)

      static void Main(string[] args)
        {
            //计算输入数组的和
            int[]values={3,5,6,9};
            int sum= Sum(values);
            Console.WriteLine(sum);
            Console.ReadKey();

        }


        static int Sum(int[]values)
        {
            int sum = 0;
            foreach (int i in values) 
            {
                sum = sum+ i;
            }
            return sum;
        }

如上例中的values和values,sum和sum只是看起来名字重复,其实没有任何关系。

练习:有一个string数组按某个特定符号来分隔(问题描述如下)

string[] strs={"aa","333","ccc"};

返回给我一个字符串,然后字符串使用我指定的分隔符进行分割,比如我指定用"|"分割,那么返回给我”aa|333|ccc“

具体步骤:

确定函数参数的返回值类型:stringJoin(string[] strs,string seperator)

确定参数:string Join(string[] strs,string seperator)

代码(如例7)

[csharp]  view plain copy print ?
  1. namespace 函数5  
  2. {  
  3.     class Program  
  4.     {  
  5.         static void Main(string[] args)  
  6.         {  
  7.             string[] names = {"tom","jerry","lucy"};  
  8.             string s=Join(names,"|");  
  9.             Console.WriteLine(s);  
  10.             Console.ReadKey();  
  11.         }  
  12.         //定义的这个函数要把字符串数组按某个特定符号来分隔  
  13.         static string Join(string[] strs, string seperator)  //注意:C#中函数名字要大写字母开头  
  14.         {  
  15.             string result = "";  
  16.             for (int i = 0; i < strs.Length - 1; i++)  
  17.             {  
  18.                 result = result + strs[i]+seprator;  
  19.             }  
  20.             if(strs.Length>0)  
  21.             {  
  22.                 result=result+strs[strs.Length-1];  
  23.             }  
  24.             return result;  
  25.         }  
  26.     }  
  27. }  

c#的命名规范:

C#中函数名字、类的名字都要大写字母开头,

参数的名字,变量的名字都要小写字母开头,而且起的变量的名字和参数的名字要有意义。

 

(2)可变参数

 

可变参数:参数的个数可以动态增加的,在参数前面加params关键字。

如例7下面的Console.WriteLline()函数,它的参数就是可变参数。

例7:

[csharp]  view plain copy print ?
  1. namespace 函数的可变参数  
  2. {  
  3.     class Program  
  4.     {  
  5.         static void Main(string[] args)  
  6.         {  
  7.             Console.WriteLine("{0}{1}{2}{3}{4}",3,4,5,8,90,7,9,50,"a","agg");  
  8.             Console.ReadKey();  
  9.         }  
  10.     }  
  11. }  

 

可变参数也可以和非可变参数一起来用的。

使用可变参数据注意的问题,可变参数必须是所有参数中的最后一个,不能把它提到前面的。(如例8)。

例8

[csharp]  view plain copy print ?
  1. namespace 可变参数和非可变参数  
  2. {  
  3.     class Program  
  4.     {  
  5.         static void Main(string[] args)  
  6.         {  
  7.             SayHello("tom","张大虎","狗蛋");  
  8.             Console.ReadKey();  
  9.         }  
  10.   
  11.         //非可变参数(名字), 可变参数(呢称)一起用。注意,可变参数必须是所有参数中的最后一个  
  12.         static void SayHello(string name, params string[] nicknames)  
  13.         {  
  14.             Console.WriteLine("我的名字是{0}",name);  
  15.             foreach (string nickname in nicknames)  
  16.             {  
  17.                 Console.WriteLine("我的昵称是:{0}",nickname);  
  18.             }  
  19.         }  
  20.     }  
  21. }  

四、函数重载(函数重名)

 

 

函数的默认值:是用函数重载来实现的

函数重载:其实就是函数的重名

函数的名字是可以重复,条件是函数的参数必须是不一致(不严谨)

 

如:例9

[csharp]  view plain copy print ?
  1. namespace 函数重载  
  2. {  
  3.     class Program  
  4.     {  
  5.         //函数重载:就是函数的重名,但是函数的参数必须不一致。  
  6.         static void Main(string[] args)  
  7.         {  
  8.             SayHello("王大壮");  
  9.             SayHello("tom");  
  10.             SayHello(20);  
  11.             Console.ReadKey();  
  12.   
  13.         }  
  14.         static void SayHello(string name)  
  15.         {  
  16.             Console.WriteLine("大家好,我是{0}",name);  
  17.         }  
  18.   
  19.         /*    报错:重名的函数,参数不能一样 
  20.         static void SayHello(string name) 
  21.         { 
  22.             Console.WriteLine("Hello,I am {0}",name); 
  23.         } 
  24.         */  
  25.         static void SayHello(int age)  
  26.         {  
  27.             Console.WriteLine("我{0}岁了",age);  
  28.         }  
  29.     }  
  30. }  

函数能否重载(能否重名),取决于参数的格式,与返回值无关。(只要函数的参数一样了,就不能重载)      

如例11:

[csharp]  view plain copy print ?
  1. namespace 函数重载2  
  2. {  
  3.     class Program  
  4.     {  
  5.         static void Main(string[] args)  
  6.         {  
  7.             //函数重载:就是函数重名,条件是函数的参数个数或者是参数的类型必须不一致。  
  8.             SayHello("tom", "小懒猫");  
  9.             SayHello("王大壮");  
  10.             SayHello("tom");  
  11.             SayHello(20);  
  12.               
  13.             /* 
  14.             string s = SayHello("jerry"); //报错:函数是否能重载(是否能重名),取决于参数的格式,与返回值无关。 
  15.              */  
  16.   
  17.             Console.ReadKey();  
  18.         }  
  19.   
  20.         static void SayHello(string name)  
  21.         {  
  22.             Console.WriteLine("大家好,我是{0}", name);  
  23.         }  
  24.   
  25.         static void SayHello(int age)         //参数的类型不一样,可以重载  
  26.         {  
  27.             Console.WriteLine("我{0}岁了", age);  
  28.         }  
  29.   
  30.         /* 
  31.         //报错:函数的参数一样了,不可以重载(哪怕是你有返回值,我无返回值或者是两个返回值的类型不一致都不可以重载) 
  32.         static string SayHello(string name) 
  33.         { 
  34.             return "大家好,我是:"+name;    
  35.         } 
  36.         */  
  37.   
  38.         static void SayHello(string name, string nickname)   //参数的个数不一样,可以重载  
  39.         {  
  40.             Console.WriteLine("我的名字是{0},我的昵称是{1}",name,nickname);  
  41.         }  
  42.     }  
  43. }  


只要函数的参数一样了,哪怕是你有返回值,我无返回值或者是两个返回值的类型不一致,都不可以重载。

只有参数的类型不一样,参数的个数不一样,就可以构成重载。  

C# Main函数 本文章是个人学习后的总结,如有错误请指正。 只有彻底了解,才能正确使用。Main的创建 当创建一个C#可执行应用程序(控制台,Windows桌面程序或Windows服务)的时候,会自动创建一个雷Program,该类中有一个静态的Main函数。Main函数的签名: 签名:指的是一个方法具有的名称、返回类型和参数列表。 Main函数必须使用stat 阅读详情

相关推荐

移动通信基础(13)TDL、CDL、信道相关性

参考《U型槽无线信道多径传播特性测量与建模方法的研究》、《5G信号源中的信道模拟与仿真研究》衰落衰落理解为信号幅度在时间和频率上的不断波动,是无线信道一个重要的恶化特性。信道幅度恶化的两个主要来源分别是加性噪声和信号衰落,高斯白噪声信道模型就是典型的加性噪声,信号衰落引起的是乘性的信号扰动,与加性噪声从原理上完全不同。信道的频率选择性衰落组为无线信道的重要特征之一,是人们进行无线系统设计考虑的重要因素,决定了导频隔间的大小。...

tybAly的博客 2万+

C#之函数(方法)详解

一、语法介绍1、为什么使用函数2、函数体介绍3、函数的定义和使用4、带参和无参5、参数不确定长度的方法6、结构函数7、函数的重载(Overload):函数名相同,参数不同,返回值无所谓二、语法实践using System; namespace 函数定义使用 { /// &lt;summary&gt; /// 结构体函数 /// &lt;/summary&gt; s...

我还是个孩子的博客 1万+

Ardupilot姿态控制详解(完结篇)

本文主要是对过去写的一些APM中姿态控制流程及函数博文的汇总。 按照之前写的博文以及个人认为的学习顺序,给出APM姿态控制器的学习顺序如下: APM姿态旋转理论基础 Ardupilot姿态控制器 PID控制流程(整定后的P控制器) 详解APM的开方控制器sqrt_controller Ardupilot前馈及平滑函数input_euler_angle_roll_pitch_yaw解析 Ardupilot倾转分离函数thrust_heading_rotation_angles Ardupilot四元数姿态控制

moumde的博客 7024

C# 函数介绍及使用方法

一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。 在C#语言中,子程序的作用是由一个主函数和若干个函数构成。由主函数调用其它函数,其它函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。要善于利用函数,以减少重复编...

weixin_30399871的博客 1327

D457深度相机调试记录(max96712+max9295A)

使用max96712解串器解4路D457相机。采集深度相机Depth和RGB流。

navy2015_163的博客 1267

【华为OD机试真题 2025C卷】895、贪心歌手 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS)

【华为OD机试真题 2025C卷】895、贪心歌手 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何备战华

KJ.JK 964

C#笔记——函数

函数又称方法,本质是一个具有名称的代码块。可以通过函数的名称去执行该代码块。函数是方便对代码重复使用的一种机制。ref变长参数函数的传入参数,他可以为任意数量的同种类型参数的集合。关键字为params,使用时后面必须修饰一个数组而非一个元素。params关键字修饰的参数数组必须位于最后一个参数的位置,在她的后面不允许有其他任何参数。在实际应用中,存在某些情况下逻辑处理必须要用到某参数,但实际调用时不一定会包含该参数的传入,这时可以使用可选参数。

qq_62597193的博客 1704

看28377代码笔记

使用的是20MHz外部晶振,为取200MHz系统时钟,倍频设为20,分频设为2,这样sysclock = 20MHz * 20 / 2,正好200MHz。注意:SPISTE配置成普通的GPIO端口,是为了更好控制芯片,配置芯片的时序。FMULT_0:小数点位数,小数只能有0,0.25,0.5,0.75四个选择。XTAL_OSC:表示使用外部晶振。GPIO_MUX_CPU1:复用类型。GPIO_MUX_CPU1:复用类型。PLLCLK_BY_2:表示2分频。IMULT_20:表示倍频数。

小柚子的博客 806

C# 中的函数与方法

在 C# 中,函数是一段代码块,用于执行特定的任务或操作。函数也被称为方法(method),它们是面向对象编程(OOP)的基本构建块之一。函数使代码模块化,提高代码的可读性、可维护性和重用性。

微软技术分享 7187

Linux V3H 平台开发系列讲解(摄像头)2.3.1 MAX96912 MAX96717 GMSL1 CSI 2lane配置

​ 单路摄像头,数据流类型YUV422, mipi接口,经过MAX96717 串行器,gmsl1链路 到解串器MAX96712,最后mipi csi 2lane(lane0 lane1)输出到 renesa v3h soc开发板; ​

xian18809311584的博客 580

R数据分析:潜在剖面分析LPA的做法与解释

Latent Profile Analysis (LPA) tries to identify clusters of individuals (i.e., latent profiles) based on responses to a series of continuous variables (i.e., indicators). LPA assumes that there are unobserved latent profiles that generate patterns of resp.

Codewar的博客 1万+

C# 编程 常用函数

C#基础 一

weixin_42294402的博客 1601

深入浅出块I/O子系统(四)请求处理过程

BIO请求处理的流程 函数scsi_request_fn()代码(摘自文件drivers/scsi/scsi_lib.c) (1)static void scsi_request_fn(struct request_queue *q) (2)int scsi_dispatch_cmd(struct scsi_cmnd *cmd) { host->hostt->queuecommand(host, cmd) } (3)struct sas_internal *i sas_queuec

sinat_37817094的博客 1348

C#编写函数

C#函数是一段可重复使用的代码块,用于执行特定的任务。它们可以接受输入参数并返回结果。在C#中,函数定义包括函数名、返回类型、参数列表和函数体。

qq_42497776的博客 2158

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C#中Math函数简介

C#中Math函数介绍 Math.abs() 计算绝对值 Math.acos() 计算反余弦值 Math.asin() 计算反正弦值 Math.atan() 计算反正切值 Math.atan2() 计算从x 坐标轴到点的角度 Math.ceil() 将数字向上舍入为最接近的整数 Math.cos() 计算余弦值 Math.exp() 计算指数值 Math.floor() 将数字向下舍入为最接近的整数 Math.log() 计算自然对数 Math.max() 返回两个整数中较大的一个 Math.min() 返

樱花的博客 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

C#构造函数

C#中构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,它通常初始化新对象的数据成员。不带参数的构造函数称为“默认构造函数无论什么时候,只要使用new运算符实例化对象,并且不为 new 提供任何参数,就会调用默认构造函数。除非类是静态的,否则C#编译器将为无构造函数的类提供一个公共的默认构造函数,以便该类可以实例化。public 类名(){}构造函数可分为:实例构造函数,静态构造函数,私有构造函数(下面会详细介绍)

学习之路,创业之光 7204

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C#函数

一函数有什么作用? 1.提高效率,减少重复编写程序的工作量 2.一个较大的程序不可能完全由一个人完成,更不可能把所有代码放在一个主函数中。这符合面向对象的思想 3.为了代码的安全性 二函数方法如何声明? <访问修饰符> <返回类型> <方法名>(参数列表) {方法主体} 例: public void Funtion(int a) { } public int F...

SeptemberTan的博客 324

C#中有关函数的知识

函数 函数的签名 由函数的名称和参数共同定义,简单地说,签名由方法名称、它的参数类型和参数的修饰符组成。方法的签名不包括返回类型,并且不包括参数的名称。例:void F();//签名是F(),int F(int x);//签名是F(int),int F(out int x);//签名是F(out int),此处out指的是参数的修饰符。 一般采用PascalCase来编写函数名 执行一行代码的函数可以使用C#6引入的一个功能:表达式体方法。使用=>(Lamada箭头)来表示它。例如 static do

Foundmyself的博客 342

C#中的虚函数

C#中的虚函数virtual 简单介绍虚函数virtual 在某基类中声明 virtual 并在一个或多个派生类中被重新定义的成员函数称为虚函数。 虚函数的作用就是实现多态性(Polymorphism),多态性是将接口与实现进行分离。 C#作为完全面向对象语言,所有函数并不默认为virtual,但可以在基类中声明关键字virtual,就可以在其派生类中通过关键字override重写该函数。重写后的virtual函数依旧是virtual函数。由于virtual只对类中的实例函数成员有意义,所以成员字段和静态函

muyuxuyang的博客 6000

C#函数基础

任何一门编程语言都离不开函数,C# 中的函数(也可以称为方法)是一段具有签名(由函数名、参数类型和参数修饰符组成的函数信息)的代码块,可以用来实现特定的功能。

懒羊羊我小弟的博客 3803

C# 函数式编程

编程语言范式 许多现存的编程语言都可基于其计算模型加以分类,归入某些语言族,或者属于某种编程范式。按照不同的规则,可以有多种分类的方法,而且不同的学者对某些语言的具体归属也有不同的意见。 给出一种系谱: 说明式(Declarative)   函数式  Lisp, ML, Haskell   数据流  ld, Val   逻辑式  Prolog   基于模板 XSLT 命令式(Im

一切从心开始 5799

C#语言的函数实现

C#语言中的函数(方法)是程序构建的重要组成部分。本文详细讨论了函数的定义、参数传递、返回值、函数重载以及Lambda表达式的使用。掌握这些基本概念和技巧后,您将能够编写出结构清晰、可维护性高的C#程序。希望这篇文章能够帮助您更好地理解C#中的函数实现。无论是在学习过程中还是在实际应用中,良好的函数设计都是编程的关键。通过反复练习和深入理解,您将能够在C#编程的道路上越走越远。

2401_90032281的博客 1407

c#延时函数,不止Sleep函数

在C#窗口程序中,如果在主线程里调用Sleep,在Sleep完成之前, 界面呈现出假死状态,不能响应任何操作! 下边实现的是非独占性延时函数,延时过时中界面仍可响应消息: public static void Delay(int milliSecond) { int start = Environment.TickCount; while (Math.Abs(Environme...

锡城小凯的博客 6741

c#之函数

函数是封装代码块的重要机制,具有封装代码、提升复用率和抽象行为三大作用。函数可在class或struct中定义,基本语法包含返回类型、函数名、参数列表和函数体。参数可以是任意类型,数量0到n个,返回值类型为void时表示无返回值。通过return关键字返回结果,void函数也可用return提前结束。函数的使用只需调用函数名并传入参数,返回值可直接使用或存储。ref和out参数通过传递内存地址实现内外变量同步修改,区别在于ref需初始化而out必须在内部赋值。变长参数使用params关键字,默认参数值使参数

2302_76625075的博客 1039

C#自学之函数

C#之函数定义和使用函数返回值参数参数数组引用参数和值参数输出参数元组 定义和使用函数 本次介绍的这个函数,有些地方会叫成"方法"。但是这个术语在.NET编程中有非常特殊的含义,所以现在不用这个术语。 初学者刚刚见到的代码都是用单个代码块形式出现的,其中包含一些重复执行的代码行,以及有条件地执行分支语句。如果要对数据进行操作,就该把代码放在最合适的地方。 这种代码结构是比较有限的,在实际编码需要的情况下,很大部分是需要将一段代码放在程序中的多个位置去执行,如果真的那样做,即使对插入的代码块有非常小的改动(例

MousseIn的博客 556
上一篇: C#枚举
下一篇: MVC设计模式
Chaim--Cmg
博客等级 码龄18年 6粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值