概念:
一般在同乙個類中,方法名相同,並且方法的引數個數或對應位置上的型別不同,才能構成方法的過載。
注意:方法過載和返回值沒有關係,引數的個數或對應位置上的型別相同時,構不成過載
問題:方法只能返回乙個值,當需要返回多個值時怎麼辦?
題:寫乙個方法,計算乙個int型別陣列中每個元素的總和 和 最大值與最小值?
該題需要返回3個引數,分別是sum(總和),max(最大值),min(最小值)
**實現:
using system;namespace outref
; int max;
int min;
int sum = testout(arrtemp,out max,out min);
console.writeline("和=,最大值=,最小值=",sum,max,min);
console.readline();
}public
static
int testout(int arrtemp,out
int max, out
int min)
if (min > arrtemp[i])
}return sum;}}
}執行結果:
實現步驟:
1.在方法的引數型別前加 out,那麼傳引數的時候,也 必須在呼叫該方法的引數前加out,表明這個引數不是傳入的,而是用來傳出值的。
2.如果引數是以out形式傳入的,那麼在傳入前可以不賦初值
3.在方法中對於由out修飾的引數,必須賦值,並且必須在使用前賦值。
練習:寫乙個mytryparse方法,要求使用者傳入乙個字串,如果這個字串能轉換成int型別,則方法返回true,並且轉換後的int型別資料資料通過方法的引數傳出,如果字串不能轉換成int型別,則方法返回false
**實現:
using system;out就是內部為外部變數賦值,out一般用在函式需要有多個返回值的場所using system.collections.generic;
using system.text;
namespace mytryparse
", result);
}else
}public
static
bool mytryparse(string strtemp, out
int result)
catch}}
}
ref與out的區別
out用於傳出值,ref可以理解成雙向的,既可以傳入,又可以傳出,在傳參前,必須先賦初值
在傳引數的過程中,如果引數有out或ref修飾的話,那麼改變方法中的引數變數的值,呼叫者方法中變數的值也會相應改變。
C 複習總結
在學c 之前先要搞清楚的幾個概念 結構化程式設計 使用子程式 程式碼區塊 for迴圈 以及while迴圈等結構的程式設計 自頂向下 將大程式分解成小型的,便於管理的任務 自下向上 從低階組織到高階組織 過程性程式設計 強調演算法 物件導向程式設計 強調資料 通用程式設計 強調演算法 c 三大特性 封...
C基礎複習
c基礎複習 1.資料型別 有符號數是最高位為符號位,0代表正數,1代表負數。無符號數最高位不是符號位,而就是數的一部分,無符號數不可能是負數。當我們寫程式要處理乙個不可能出現負值的時候,一般用無符號數,這樣可以增大數的表達最大值。有符號 signed 無符號 unsigned 預設情況下,定義變數時...
C總結複習(一)
一.識別符號和關鍵字 識別符號由字母數字下劃線組成,標記常量,變數,函式和陣列等。規則 1.第乙個字元不能是數字 2.最長31字元 3.不能包含空格 4.不能用關鍵字。注意 大小寫有區別 32個關鍵字 二.資料型別 擴充套件 沒有bool,string要string.h,字串常量 整形 短整形,整形...