void swap(ref t x,ref t y)
static void main()
加上ref 關鍵字 就可以按址傳遞了,ref可出可進,out只進不出。都是按址傳遞;意思就是out傳進方法裡的時候,需要初始化;
foreach迭代:一般foreach迭代器需要有迭代的物件繼承 ienumerable/ienumerable ,而list 是繼承 ienumerable的,因次可以進行foreach;迭代,比如要統計乙個list裡面的所有賬目;
public inte***ce iaccount
;decimal balance;
}public class account:iaccount
public decimal balance
public account(string name, decimal balance)
}public static class algorithmswhere t:iaccount
return sum;
}//使用泛型委託 func
public static t2 accumulate(ienumerablesource,funcfunc)
return sum;
}}static void main()
; decimal amount = algorithms.accumulate******(accounts);
//呼叫 泛型方法
decimal amount = algorithms.accumulate(accounts,(item,sum)=> sum+=item.balance);
}
加了泛型約束 方便擴充套件; 泛型 泛型類 泛型方法 泛型擦除
1 是什麼?一種允許我們在不確定引數型別時候使用的型別。例如我不知道a方法應該會傳string還是int,我就用個泛型先佔坑。2 為什麼要用泛型?泛型可以在編譯期自動確定具體型別,檢查型別是否匹配,可以提高 的重用率,減少冗餘編碼。3 泛型與object的區別?像上面說的我不知道方法a的引數型別,其...
泛型類,泛型方法,泛型介面
泛型,就是一種不確定的資料型別。如果在類後面加上 這個類就變成了泛型類。這個 t可以使用任意的字母代替。表示定義了一種不確定的資料型別,這種不確定的資料型別必須在使用這個類 比如建立物件 的時候才能確定下來。如果希望縮小泛型的範圍,延後泛型的確定時間,讓泛型在呼叫方法的時候確定,那麼我們可以使用泛型...
泛型討論 泛型方法
泛型不經可以用在整個類上,同樣也可以用在雷中包含引數化的方法,而這個方法所在的類可以是泛型,也可以不是泛型,也就是說,是否擁有泛型方法,與其所在的類是否是泛型沒有關係。乙個基本的原則,優先使用泛型方法,然後才是泛型類,另外對於static方法而言,無法訪問泛型類的型別引數,所以,如果static方法...