程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Visual Studio:針對Java開發人員的C#編程語言(1)(12)

Visual Studio:針對Java開發人員的C#編程語言(1)(12)

編輯:關於C語言

out 關鍵字

out 關鍵字的作用與 ref 關鍵字非常相似,並且對使用 out 關鍵字聲明的參數所做的修改在方法外是可見的。它與 ref 有兩點不同:首先,out 參數的任何初始值在方法中都是忽略的;其次,out 參數必須在方法中賦值:

using System;
public class OutClass
{
 public static void Main(string[] args)
 {
  int total = 20;
  Console.WriteLine("Original value of 'total': {0}", total);
  Add (33, 77, out total);
  Console.WriteLine("Value after Add() call: {0}", total);
 }
 public static void Add (int i, int j, out int result)
 {
  // The following line would cause a compile error
  // Console.WriteLine("Initial value inside method: {0}", result);
  result = i + j;
 }
}

在該示例中,Add() 方法的第三個參數是用 out 關鍵字聲明的,並且對該方法的調用還需要將 out 關鍵字用於該參數。輸出結果為:

Original value of 'total': 20Value after Add() call: 110

因此,總的來說,當您希望方法修改現有的變量時,可以使用 ref 關鍵字,而使用 out 關鍵字來返回在該方法中產生的值。當方法為調用代碼產生多個結果值時,通常一起使用 out 關鍵字與該方法的返回值。

使用不確定數目的參數

通過在聲明方法時指定 params 關鍵字,C# 允許我們發送可變數目的參數。參數列表也可以包含普通參數,但是需要注意,用 params 關鍵字聲明的參數必須放在最後。它采用可變長度數組的形式,並且每個方法只有一個 params 參數。

當編譯器嘗試解析一個方法調用時,它查找其參數列表與調用的方法相匹配的方法。如果找不到可以與參數列表匹配的方法重載,但是存在與適當類型的 params 參數匹配的版本,則會調用該方法,並將額外的參數放在一個數組中。

下面的示例對此進行了演示:

using System;
public class ParamsClass
{
 public static void Main(string[] args)
 {
  Average ("List One", 5,10,15);
  Average ("List Two", 5,10,15,20,25,30);
 }
 public static void Average (string title, params int[] values)
 {
  int Sum = 0;
  Console.Write("Average of {0}: ", title);
  for (int i = 0; i < values.Length; i++)
  {
   Sum += values[i];
   Console.Write(values[i] + ", ");
  }
  Console.WriteLine(": {0}", (float)Sum/values.Length);
 }
}

在上面的示例中,用整型數組中的 params 參數聲明了方法 Average,讓我們使用任何數目的參數來調用它。輸出結果如下:

Average of List One: 5, 10, 15, : 10
Average of List Two: 5, 10, 15, 20, 25, 30, : 17.5

注意,如果我們希望允許不同類型的不確定參數,我們可以指定 Object 類型的 params 參數。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved