C#声明方法实例说明

  1、指定方法声明语法

  Microsoft Visual C#方法的语法格式是:

returnType methodName ( parameterList )
{
    // 这里添加方法主体语句
}

  returnType(返回类型)是一个类型名,它指定了方法返回的信息是什么类型。这可以是任何类型,如int或string。如果要写一个不返回值的方法,那么必须用关键字void来取代返回类型。

  methodName(方法名)是调用方法时使用的名称。方法名所遵循的标识符命名规则和变量名一样。例如,addValues是一个有效的方法名,而add$Values是无效的。目前,应该为方法名采用camelCase命名风格,而且应该以一个动词开头,使方法的用途更加一目了然,例如displayCustomer。

  parameterList(参数列表)是可选的,它描述了可以传递给方法的信息的类型和名称。在圆括号中填写变量信息时,要像声明变量时那样,先写上参数的类型名,再写上参数名。如果方法有两个或者更多的参数,必须使用逗号来分隔它们。

  方法主体语句是调用方法时要执行的代码行。它们必须放在起始和结束大括号({})之间。

  重要提示 C,C++和Microsoft Visual Basic程序员请注意,C#不支持全局方法。所有方法都必须在一个类的内部,否则代码无法编译。

  以下是一个名为addValues的方法的定义,它返回一个int类型的值,并可接收两个int类型的参数,分别名为leftHandSide和rightHandSide。

int addValues(int leftHandSide, int rightHandSide)
{
    // ...
    //这里添加方法主体语句
    // ...
}

  以下是一个名为showResult的方法的定义,它不返回任何值,并可接收一个名为answer的int参数:

void showResult(int answer)
{
    // ...
}

  注意,假如方法不返回任何值,那么必须使用void关键字。

  重要提示 Visual Basic程序员请注意,C#不允许使用不同的关键字来区分一个要返回值的方法(也就是函数)和一个不返回值的方法(也就是过程或者子程序)。在C#中,要么指定一个返回类型,要么指定void。

2、return语句

  如果希望一个方法返回信息(换言之,它的返回类型不是void),就必须在方法内部写一个return语句。为此,首先要写下关键字return,再写一个表达式(它将计算要返回的值),最后写一个分号。表达式的类型必须与函数指定的返回类型相同。换言之,假如一个函数返回int值,那么return语句必须返回一个int值。否则,程序将无法编译。示例如下:

int addValues(int leftHandSide, int rightHandSide)
{
    // ...
    return leftHandSide + rightHandSide;
}

return语句应该位于方法的尾部,因为它会造成方法的结束。return语句之后的任何语句都不会执行(如果坚持在return语句之后添加其他语句,编译器会因此发生警告)。假如方法不准备返回信息(返回类型为void),可以利用return语句的一个变体来立即从方法中退出。在这种情况下,需要先写下关键字return,然后紧跟一个分号。例如:

void showResult(int answer)
{
    // 显示答案
    ...
    return;
}

  如果方法不返回任何信息,还可以省略return语句,因为一旦执行到方法尾部的结束大括号(}),方法会自动结束。不过,虽然这是一种常见的写法,但并不是一个良好的编程习惯。

  研究方法定义

  1. 启动Visual Studio 2005。

  2. 打开My Documents文件夹中的\Microsoft Press\Visual CSharp Step by Step\Chapter 3\Methods子文件夹中的Methods项目。

  3. 选择“调试”|“开始执行(不调试)”。Visual Studio 2005将开始生成并运行应用程序。

  4. 体验一下应用程序的运行,单击Quit。

  5. 在“代码和文本编辑器”窗口中显示Form1.cs的代码(在“解决方案资源管理器”中右击Form1.cs,并从弹出菜单中选择“查看代码”)。

  6. 在“代码和文本编辑器”窗口中,找到addValues方法,如下所示:

private int addValues(int leftHandSide, int rightHandSide)
{
    expression.Text = leftHandSide.ToString() + " + " + rightHandSide.ToString();
    return leftHandSide + rightHandSide;
}

  addValues方法包含两个语句。第一个语句在窗体上的expression文本框中显示要执行的计算。leftHandSide 和rightHandSide参数值被转换成了字符串(使用第2章介绍过的ToString方法),并在两者之间使用一个“+”符号来连接。

  第二个语句使用操作符+求leftHandSide和rightHandSide这两个int变量之和,并返回结果。记住,两个int值相加得到的也是int值,所以addValues方法的返回类型要设为int。

  7. 在“代码和文本编辑器”窗口中找到showResult方法,如下所示:

private void showResult(int answer)
{
    result.Text = answer.ToString();
}

  这个方法只有一个主体语句,作用是在result文本框中显示answer的字符串形式。

(0)

相关推荐

  • C#判断一个String是否为数字类型

    方案一:Try...Catch(执行效率不高) 复制代码 代码如下: private bool IsNumberic(string oText) {     try     {         int var1=Convert.ToInt32 (oText);         return true;     }     catch     {         return false;     } } 方案二:正则表达式(推荐) a) 复制代码 代码如下: public static bool

  • c#中带头(声明)的xml(封装)生成

    复制代码 代码如下: XmlDocument downLoadFilexml = new XmlDocument(); XmlElement root = null; XmlElement kisokChild = null; //生成xml的头 XmlNode xmlnode= downLoadFilexml.CreateXmlDeclaration("1.0", "utf-8", null); downLoadFilexml.AppendChild(xmlnod

  • C#两个相同属性的类赋值方法

    最近有遇到两个类之间的赋值问题,两个类的属性几乎都一样的,所以写了个通过反射获取属性的然后赋值的方法,把一个类的属性的值赋值给另一个类. 框架是.net 4.5 public static D Mapper<D, S>(S s) { D d = Activator.CreateInstance<D>(); try { var sType = s.GetType(); var dType = typeof(D); foreach (PropertyInfo sP in sType.G

  • 深入解析C#中的泛型类与泛型接口

    泛型类 泛型类封装不是特定于具体数据类型的操作.泛型类最常用于集合,如链接列表.哈希表.堆栈.队列.树等.像从集合中添加和移除项这样的操作都以大体上相同的方式执行,与所存储数据的类型无关. 对于大多数需要集合类的方案,推荐的方法是使用 .NET Framework 类库中所提供的类. 一般情况下,创建泛型类的过程为:从一个现有的具体类开始,逐一将每个类型更改为类型参数,直至达到通用化和可用性的最佳平衡.创建您自己的泛型类时,需要特别注意以下事项: 将哪些类型通用化为类型参数. 通常,能够参数化的

  • C# JsonHelper 操作辅助类,拿来直接用

    四个主要操作类:JsonConverter .JsonHelper .JsonSplit .AjaxResult 一.JsonConverter: 自定义查询对象转换动态类.object动态类转换json包.json转换object动态类.DataReader转换为Json.DataSet转换为Json.DataTable转成Json.Datatable转换为Json .格式化字符型日期型布尔型.过滤特殊字符等 using System; using System.Collections.Gen

  • C#实现的ZPL条码打印类完整实例

    本文实例讲述了C#实现的ZPL条码打印类.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Diagnostics; using System.Drawing; using System.Drawing.Drawing2D; using System.Runtime.InteropS

  • 详解c# 类的构造方法

    一.构造方法 类的构造方法是类的成员方法的一种,它的作用是对类中的成员进行初始化操作.类的构造方法分为:     1.静态构造方法     2.实例构造方法 1.静态构造方法 类的静态构造方法是类的成员方法的一种,它的作用是对类中的静态成员进行初始化操作.下面请看代码实例: using System; namespace LycheeTest { class Test { //定义一个静态成员变量 private static int a; //定义静态构造函数 static Test() {

  • C# 类的声明详解

    类是使用关键字 class 声明的,如下面的示例所示: 访问修饰符 class 类名 { //类成员: // Methods, properties, fields, events, delegates // and nested classes go here. } 一个类应包括: 类名 成员 特征 一个类可包含下列成员的声明: 构造函数 析构函数 常量 字段 方法 属性 索引器 运算符 事件 委托 类 接口 结构 示例: 下面的示例说明如何声明类的字段.构造函数和方法. 该例还说明了如何实例

  • C#实现XML与实体类之间相互转换的方法(序列化与反序列化)

    本文实例讲述了C#实现XML与实体类之间相互转换的方法.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Data; using System.Xml; using System.Xml.Serialization; /// <summary> /// Xml序列化与反序列化 //

  • C#使用Process类调用外部exe程序

    在编写程序时经常会使用到调用可执行程序的情况,本文将简单介绍C#调用exe的方法.在C#中,通过Process类来进行进程操作. Process类在System.Diagnostics包中. 示例一 复制代码 代码如下: using System.Diagnostics; Process p = Process.Start("notepad.exe"); p.WaitForExit();//关键,等待外部程序退出后才能往下执行 通过上述代码可以调用记事本程序,注意如果不是调用系统程序,

随机推荐