一周學C 之第二天(函式)

2022-05-10 23:12:50 字數 2940 閱讀 8260

一周學

c#_第二天

(共分六個部分)函式

1前言c#不支援——全域性函式

所有的函式必須——在類內部宣告

無——原始檔和標頭檔案之分

所有的函式必須——宣告的時候被實現

int notallowed()//

錯誤,c#

沒有全域性函式

sealed class methods

void error()

;//錯誤,函式不能有結尾分號

int alsoerror();//

錯誤,函式必須宣告的時候被實現}c#

規定,所有的函式必須在【類或結構】內實現。

函式是類或結構的成員,函式也被稱為方法。

記住,c#

不允許在函式的宣告時,加入結尾分號。

2宣告函式

函式引數列表

各引數以逗號隔開

引數必須命名

沒有引數時括號不能省略

sealed class methods

void noerror(float delta)

int error(void)//

錯誤,無引數時不允許使用

void

int noerror()}3

值型引數

一般的函式引數是實參的乙個拷貝

實參必須預先被賦值

實參可以是常量型別

sealed class parameterpassing

static void main()

}注意:沒有【被

ref】或者【

out】修飾的引數,都是值型引數。

值型引數,只有在該引數所屬的函式被呼叫之時才存在,並且用呼叫時所傳遞的實參的值來進行初始化。

當函式呼叫結束時,值型引數不復存在。

4引用型引數

引用型引數是實參的乙個別名

沒有發生複製動作

實參必須預先被賦值

實參必須是乙個變數型別(值型引數可以不是)

實參和函式引數都要有

refsealed class parameterpassing

static void main()}有

ref修飾符,才被稱為引用型引數。

引用型引數不產生新的儲存區間。

引用型引數實際上,只是實參所代表變數的另乙個名字。

ref必須同時出現中函式宣告語句和函式呼叫語句中。

引用型引數,需要給實參預先賦值;並且實參必須是變數型別。

5out

型引數out

型引數——是實參的乙個別名

沒有發生複製

實參不必預先賦值

實參必須是變數型別

函式引數必須被預先賦值才能使用

實參和函式引數都要有

outsealed class parameterpassing

static void main()}6

in型引數

readonly

、const、in

——都是

c#關鍵字

它們不能被用於函式引數

ref/out

型引數總是被賦予寫的權力

7函式過載

乙個類中的函式可以有相同的名字,這被稱為過載

函式名和引數——稱為標識

標識必須唯一

返回值型別不是標識

namespace system

public static void writeline(int value)

...}

}注意:過載函式簽名式差異:體現在引數上,而不是返回值

8ref/out

過載ref/out

在大部分情況下是標識的一部分

你可以過載乙個

ref型引數和乙個普通引數

你可以過載乙個

out型引數和乙個普通引數

你不可以過載乙個

ref型引數和乙個

out型引數

sealed class overloading

void allowed(ref int parameter)//

正確,過載乙個

ref型和乙個普通的

void alsoallowed(int parameter)

void alsoallowed(out int parameter)//

正確,乙個

out型和乙個普通的

void notallowed(ref int parameter){}

void notallowed(out int parameter){}//

錯誤,不能過載乙個

ref型和乙個

out型}9

訪問規則

函式引數或返回值不能比所屬函式的訪問級別低

sealed class t//

此類的預設訪問級別是

internal

public sealed class bad

public t return()//

錯誤,函式的訪問級別比返回值高

}public sealed class good

private t return()//

正確,函式訪問級別比返回值低}10

找錯誤sealed class buggy

void readonly(const ref wibble w)//

錯誤,ref

型引數不能用

const

修飾,因為

ref型引數是可能變化的

ref int return type()//

錯誤,ref

型和out

型只能用於函式引數和實參

ref int fieldmodifier;//

錯誤同上}c#

中實現【預設引數】可以通過【函式過載】的方法,如下:

sealed class overload

void defaultargument(double d)

}

第二天學python

while else else是跟在while後的,while沒有被break打斷走else,被break打斷,不走else。utf 8 3個位元組表示乙個中文。中文全包括。至少用乙個位元組表示。unicode 4個位元組表示乙個中文。gbk 包含中文與英文本母,乙個中文用兩個位元組。不全。冪運算 ...

函式第二天

形參 在定義函式時的引數 實參 在呼叫函式時的引數 形參與實參的關係 在呼叫時實參會繫結形參 繫結關係只能在函式體內使用 實參與形參的繫結關係只有呼叫時生效,而呼叫結束後則解除繫結關係 實參傳值 形式一 func 1,2 形式二 a 1 b 2 func a,b 形式三 func int 1 2 形...

學表單的第二天

今天是學表單的第二天,主要增加了幾個html5的屬性,如 input type color file range email number 還學了表單中post和get的區別 get 從指定的資源請求資料。post 向指定的資源提交要被處理的資料.有關 post 請求的其他一些注釋 post 請求不...