為啥要屬性呢,比如我在類裡寫了個public string name = 「××××」; 那我在別的地方就可以修改他,問題是我不想讓別人修改,可是我寫private別人又不能訪問,該怎麼辦呢?這就需要屬性通過get和set
private string name;//隨便寫的乙個字段
public string name
set}//當然也可以只寫get或set 也可以兩個都寫
//如果只寫get的話,
public readonly string name = "xiaoming";
private string name = "xiaoming";
public string name
//這兩句話的效果是一樣的,只是第一句話用的readonly唯讀修飾符。
//快捷鍵小技巧來了 輸入prop+tab鍵+tab鍵 可以直接出模板
//舉個例子 這是乙個交換的方法
public void swap(int x, int y)
//在main函式裡寫這段
mathtool mymath = new mathtool();
int score_1 = 60;
int score_2 = 100;
mymath.swap(score_1, score_2);
console.writeline(score_1);
console.writeline(score_2);
//那麼輸出的結果是啥呢???是不是100 60
//其實結果是60 100
//原因是應為這是乙個值型別,值型別的話要是在main函式寫交換,那肯定就交換了,但是寫了乙個方法後他會把原來的值,複製乙份進行交換,方法裡確實交換了,可是這不影響main函式的,所以他們沒有交換。
//加上之後是這樣的
public void swap(ref int x, ref int y)
mymath.swap(ref score_1, ref score_2);
//啥叫輸出引數呢,其實他就return用法差不多,都是為了返回點什麼,只不過return返回的是乙個值,out能返回多個,在其他的語言裡有的return能返回一堆,c#不行
public void cal(int a, int b, out int x, out int y)
mymath.cal(numone, numtwo, out resultone, out resulttwo);
不同點是輸出引數必須對引數進行初始化。 ref引數是引用,也可進行運算,out引數為輸出引數不能把out的值賦值給別的變數。
這個主要用在不確定引數是多少個的時候用
public void sum(params int a)
console.writeline("結果為: " + result);
}//這樣就不需要new int了 直接傳值就可以
//如果有多個引數 params int a一定要放在最後不能放在前面
//params只能有乙個 不能多個
mymath.sum(1, 2, 3, 4, 5);
就是給引數加乙個預設值
public int getyourgrade(int yourage, int jumpcount = 0)
//預設值可以加多個,所有的引數全加預設值都行
//在呼叫的時候如果傳值的話,如果有預設值的話,可以不傳
getyourgrade(1)//第二個不給預設值0
/*
定義三個整型變數a,b,c要求將最大值賦值給a,中間值賦值給b,最小值賦值給c(要求使用ref)
用乙個方法同時計算矩形的面積和體積,並同時返回它的面積和體積(要求使用out)
寫乙個方法,可以將陣列按a[0]-a[1]+a[2]-a[3]+a[4]……的格式返回結果,在main方法中呼叫該方法。(引數要求用params修飾)
*/using system;
namespace canshu
if (b > a && b > c)
if (c > a && c > b)
a = max;
b = mid;
c = min;
}//第二題 不有道了直接拼音了 長 寬 高 面積 體積
public static void test2(int chang,int kuan,int gao,out int mianji,out int tiji)
//第三題
public static int test3(params int array)
else
}return num;
}//main函式呼叫
static void main(string args)
,b:,c:");
#endregine
#regine 第二題
int mianji = 0;
int tiji = 0;
test2(1, 2, 3,out mianji,out tiji);
console.writeline($"mianji:,tiji:");
#endregine
#regine 第三題
int num = test3(1, 2, 3, 4, 5, 6);
console.writeline(num);
#endregine}}
}
在類裡宣告的變數 叫全域性變數,也可以叫成員變數,在方法裡宣告的叫區域性變數,他的作用域只在當前的大括號內,如果現在有乙個全域性變數,還有乙個區域性變數宣告的完全一樣,那麼就近原則,而且區域性變數訪問前一定要賦值 函式 引數 變數作用域
一 函式引數 1.必須引數 必需引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣。呼叫printme 函式,你必須傳入乙個引數,不然會出現語法錯誤 小括號內的就是引數 小括號內沒東西叫做無參,有叫有參 求任意三個數之和 在定義函式的時候小括號內寫的是變數名字,不需要賦值 在呼叫函式的時候小...
變數作用域 構造方法。
構造方法 構造器 是一種特殊的方法,主要用於為成員變數初始化 為成員變數賦初始值 特徵 方法名必須與類名相同,沒有返回值型別。void也是一種返回值型別。語法 修飾符 類名 形參列表 構造方法使用new關鍵字呼叫。如果沒有顯式定義構造方法,虛擬機會自動新增無參構造,但是一旦顯式定義了構造方法,虛擬機...
Python函式引數傳遞以及變數作用域
使用 號,表示函式接受多個引數 def f args print args f 1 1,f 1,2,3 1,2,3 f f 1,2 1,2 使用 號,表示傳遞的是字典引數 def f1 args print args f1 a 1,b 2 3.將函式名作為引數傳遞 coding utf 8 用來支援...