函数成员

1、方法

(1)方法的声明:

      方法的定义包括任意方法修饰符(如方法的可访问性)、返回值的类型,然后依次是方法名和输入参数列表和方法体

    【modifiers】 return_type MethodName([paramaters])

{

   // Method body

}

(2)调用方法

(3)给方法传递参数

     参数可以通过引用或值传递给方法。对于复杂的数据类型,按引用传递的效率更高,因为在按照值传递时,必须复制大量的数据。在通过引用传递时,该方法对变量进行的改变在方法退出后仍旧有效;而通过值传递给方法,在方法退出后,对变量的修改会丢失。

(4)ref 参数:迫使参数通过引用传递给方法

(5)out参数

   参数加上out前缀时,变量可以不初始化。

(6)命名参数

     参数一般需要按照定义的顺序传递给方法。命名参数允许按任意顺序传递。

如:

:
string FullName〈 string firstName` string astName) ·
(
return firstName + " " + lastName;
)

下面的方法调用会返回相同的全名:
FullName("John", "Doe");·
FullName(lastName: "Doe", firstName: "John") ;
(7)可选参数

    必须为可选参数提供默认值,可选参数必须出现在所有必选参数之后。

如下是不对的

 public static void testFanxing(int b = 0, int a, int c = 0)
        {
            Console.Write(a + b + c);
        }

(8)方法重载

   方法有不同的签名(即,方法名相同,但参数个数或类型不同)。

C#在重载方法的参数方面有一些小限制 :

两个方法不能仅在返回类型上有区别。

两个方法不能仅根据参数声明是ref 还是out来区别。

2、属性:它是一个或一对方法,在客户端代码看来,它(们)是一个字段。

(1)只读和只写属性

private string name;

publit string Name

{

get{ return Name;}

}

(2)属性的访问修饰符

 在下面的代码示例中,注set
访问器有一个私有访问修饰符,而 gct访 问器没有任何访问修饰符。这表示 get访 问器具有属性的访问级别。 在 get和 set 访问器中,必须有一个具备属性的访问级别。 如果 get访 问器的访问级别是
protected,就 会产生一个编译错误,因 为这会使两个访问器的访问级别都不是属性。
public string Name
{
      get{
          return name;
           }
      private set{
      name = value;
       }
}

 (3)自动实现的属性   

  public int Age{get;set;}   不需要声明private int age.编译器会自动创建它。

(4)内联

3、构造函数

原文地址:https://www.cnblogs.com/juneyss/p/8761919.html