1,可選引數和命名引數
privatestatic
void m(ref
int x)
int a=5;
//呼叫方法
m(x:ref a);
2,defaultparametervalueattribute 和 optionattribute----------il**讀懂,il指令大全,class program,s=,dt=,guid=", x, s, dt, guid);
}static
void main(string args)
}//-----------------------------結果
x=9,s=a,dt=0001/1/1 0:00:00,guid=00000000-0000-0000-0000-000000000000
x=8,s=x,dt=0001/1/1 0:00:00,guid=00000000-0000-0000-0000-000000000000
x=5,s=a,dt=2020/1/30 9:47:08,guid=89e5fcd4-2a7f-4872-968e-756a4dfa9531
x=0,s=1,dt=0001/1/1 0:00:00,guid=00000000-0000-0000-0000-000000000000
x=3,s=2,dt=0001/1/1 0:00:00,guid=00000000-0000-0000-0000-000000000000
3,引數傳遞方式
操作符過載的版本
publicclass refusedtype
public refusedtype(string
value)
public
static
void deal(ref refusedtype r1)
public
static
void deal( refusedtype r1)
public static implicit operator refusedtype(string value)
}public
static
void callref()
4,物件和集合初始化器
employee e = new employee()
可以簡化為
employee e = new employee
list ls = new list的方式進行建立。//並且,其支援上下文操作:
//比如
list ls = new list.foreach(x=>x.console.writeline(x));
用於初始化類實列。當類是乙個集合類的時候,還支援類似上面的用法
匿名型別
var o1 = new ;5,有參屬性
publicclass bitarray
public
bool
this[int bitpos]//索引器
setelse}}
}public
static
void call_bitarray()
}
//結果off----第0位offoff
offoff
offoff
offoff
offoff
offoff
on----第13位
offoff
offoff
CLR via C 第10章 屬性
1.clr支援的屬性有兩種 無參屬性,這也是我們平常說的屬性 有參屬性,它在不同的程式語言中有不同的稱呼。例如 在c 中有參屬性被稱為索引器,而在vb中被稱為預設屬性。2.屬性不能作為out或者ref引數傳給方法,而字段可以。public class sometype set static void...
《CLR via C 》讀書筆記 09 引數
如果提取的乙個方法,目的是 傳入乙個值,然後加工計算後返回 這是乙個常見的行為 傳入的值如果是 值型別 那是建立的副本,因為所以需要返回的時候再次賦值 使用 out 修飾形參,這樣傳入的是該值的位址,避免建立副本,返回 開發中,會遇到給乙個方法傳的引數大於7個,雖然這樣寫的次數少,但我幹過 引數多,...
《CLR via C 》讀書筆記 之 引數
2013 02 27 預設情況下,clr假定所有方法引數都是傳值的。當傳遞引用型別的物件時,也預設是傳值的,只不過這個值是引用 指標 本身。clr允許以傳引用的方式傳遞引數。在c 中,用關鍵字out或ref來告訴編譯器。編譯器將傳遞引數的位址,而不是傳遞引數本身。從clr角度看,out和ref完全一...