coust 定義常量
string是密封類,所以不能繼承它
namespace預設是按照資料夾的結構命名的,如(system.資料夾.子資料夾),而且namespace是可以手動改的
arraylists可以放進去所有型別的變數,可以把它看作動態陣列
addremove,removeat
clear
list.contains(); 判斷元素是否存在
list
hashset只保留乙份重複的資料
dictionary
stopwatch類是秒錶
random 隨機數
path 路徑處理
combine(第一部分,第二部分) //合併路徑,自動處理路徑的斜槓
file
file.writealltext(路徑,內容)//寫入檔案,如果檔案不存在則建立,如果資料夾不存在則丟擲異常
directory
stringbuilder
可空型別
在值型別名後加上個問號(?)可以宣告可空型別的變數
int? i=null;
i.hasvalue() 判斷是否為null
ftp,http處理
webclient
ftpwebrequest
時間間隔
timespan
聲音處理
soundplayer
委託中的匿名方法
delegate()
lambda表示式
testdelegate td = (s1,s2) =>
擴充套件方法
擴充套件靜態類的方法,使字面量可以直接呼叫類似string類的tolower(),toupper()方法
如:str.isemail()
無參擴充套件方法:自己寫個靜態類,在方法的第1個引數前加上this關鍵字
有參的擴充套件方法,第乙個引數就是要呼叫的物件,以後的引數依次是擴充套件方法的引數
linq
型別推斷
var關鍵字宣告變數,但和js中不同,js是弱型別的語言,可以為變數賦任何型別的值,
c#中一旦為變數賦了一種型別的值,就不能為其賦其餘型別的值
匿名型別
var p = new ;
p是匿名型別的物件
linq的簡便方法
from i in values
where i<0
orderby i descending
select i;//select在最後
//select new person 可以建立物件
gc.collect(); //手動垃圾**
weakreference 弱引用,監視乙個變數是否被**
string 和 stringbulder的區別
stringbuilder不會產生大量的臨時字串
"abc"=="123" //判斷值
object.refernceequals(s1,s2) //判斷物件的引用是否相同
字串拘留池,會重用字串物件,
但每次new出乙個字串,就肯定是建立了乙個新的物件
c#中使用指標
在專案的屬性中選中"允許不安全的**",並且在方法前要加上"unsefe"關鍵字才可以使用指標
運算子過載
public bool operator ==(person p1,person p2)
結構體是值型別
淺度複製和深度複製
icloneable介面提供乙個clone()方法可以進行深度複製,但實現**需要自己完成
new乙個物件把各個屬性都挨個複製
可以使用物件的memberwiseclone()方法來進行淺度複製,
它返回乙個object物件,需要自己轉換成所需 的型別
數字與字串相加,以數字開頭,就返回與第乙個數字相連的和再與餘下的字串相加
,以字串頭,就以數字的tostring()相加
字串與乙個非字串物件相加,得到的是它的tostring*(
sealed 作為類的修飾符是密封類,作為方法的修飾符,不允許子類override
stream
file,fileinfo,directory,directoryinfo
filestream,gzipstream
streamreader,streamwriter
泛型委託,系統定義的委託func
泛型約束
//建構函式約束
function() where t:new() //約束t必須有無參的建構函式
//繼承約束
function() where t:base
default(t)返回這個型別的預設值,如果是值型別就返回null
程式集
反射assembly類
type類是對類的更高階的抽象,所有類都是它的例項
//沒有物件的時候通過類來獲得類的描述
type t=typeof(person)
//gettype()獲得物件的類的型別描述
asbls[0]type t2=dog.gettype();
activator.createinstance(type);//建立type類的例項,要求必須有無參的建構函式
typeof(class) 返回class的type描述
類的標記(attribute)
[serialize]標記類為可序列化
[displayname("顯示的類名")]
私人學習筆記(六)
common validate create database create table insert into shop dbo userinfo username userpwd usertel useremail userdate regdate values select from user...
變數的私人
為什麼要提供公共訪問的功能,它使乙個成員變數的私人?答案是 封裝 封裝在現實生活中,它是常見的使用一些不知道它是如何工作的。例如,你的電視遙控器提供的按鈕,讓你做的事情一樣,把你的電視和關閉和調整音量。然而,如何實現遠端實際上是隱藏。這很有用,因為它允許你使用遠端無需擔心的細節為什麼它或它是如何實現...
私人筆記,微信掃碼登陸
注意 2.redirect uri 掃碼成功後跳轉的頁面 3.scope 有兩個可選值 snsapi base 或者 snsapi userinfo 其中 1 snsapi base 為scope的網頁授權,是靜默授權的,使用者無感知 2 snsapi userinfo snsapi userinf...