hello world
//列印語句
console.writeline("hello world");
//暫停
console.readkey();
資料型別
1.值型別 byte,char,short,int,long,bool,decimal,float,double,sbyte,uint,ulong,ushort
2.引用型別: 儲存的不是值實際資料而是乙個記憶體位址 object、dynamic 和 string。
3.物件型別:object 型別檢查是在編譯時發生的
4.動態型別: 可以儲存任何型別的值在動態資料型別變數中,型別檢查在執行時
5.字串(string)型別
6.指標型別(pointer types)
型別轉換
隱式轉換
顯式轉換
to***方法 變數
常量整數常量
浮點常量(小數必須包含整數)
字元常量
字串常量
定義常量
運算子算數運算子
關係運算子
邏輯運算子
位運算子賦值運算子
其他運算子
sizeof():資料型別的大小
typeof():返回 class的型別。
&: 返回變數的位址
*:變數的指標
?: :三元表示式
is:判斷物件是否為某一型別
as: 強制轉換,即使失敗也不會丟擲異常
判斷:if
switch
迴圈:while迴圈
for/foreach
do…while
封裝:public:允許乙個類將其成員變數和成員函式暴露給其他的函式和物件。任何公有成員可以被外部的類訪問
private:允許乙個類將其成員變數和成員函式對其他的函式和物件進行隱藏。只有同乙個類中的函式可以訪問它的私有成員。即使是類的例項也不能訪問它的私有成員。
protected:該類內部和繼承類中可以訪問。
internal:同乙個程式集的物件可以訪問。
protected internal:3 和 4 的並集,符合任意一條都可以訪問。
可空型別
//預設值為0
int a;
//預設值為null
int? b=123;
//如果b為null就賦值2否則c=b
int c= b?? 2;
console.writeline(「c的值為」, c);
console.readline();
陣列
//初始化陣列逐個賦值
int arr = new int[10];
arr[0] = 12312;
//初始化陣列並賦值
int arr1 = ;
//使用for迴圈賦值
for (int i = 0; i < 10; i++)
//使用foreach取值
foreach (int i in arr)
", i);
}
結構體
struct books
static void main()
,書名,書**",book1.id,book1.name,book1.price);
console.readline();
}
列舉
//列舉列表中的每個符號代表乙個整數值,乙個比它前面的符號大的整數值,可自定義每個符號
enum days ;
static void enum()
析構函式
class test
~test()
static void main()
;console.writeline("id為", test.id);
console.readline();
}}
多型性通過在類定義前面放置關鍵字 sealed,可以將類宣告為密封類。當乙個類被宣告為 sealed 時,它不能被繼承。抽象類不能被宣告為 sealed。
當有乙個定義在類中的函式需要在繼承類中實現時,可以使用虛方法。虛方法是使用關鍵字 virtual 宣告的。虛方法可以在不同的繼承類中有不同的實現。
運算子的過載
class test2
;return test;
}static void main(string args)
;test2 test1 = new test2 ;
test2 t = test + test1;
console.writeline("t的值", t.length);
console.readline();
}}
預處理器指令
#define 預處理器
條件指令
異常處理
try catch finally
常見異常:
io異常
空物件型別轉換
除以0
檔案的輸入與輸出
//位元組流讀取檔案
static void main(string args)
console.readline();
}
windows檔案系統操作
static void main(string args)
//獲得某資料夾下的檔名與大小
static void getfile(string path) }}
if(files!=null) ,檔案大小",file.name,file.length);}}
}
特性預定義特性
1.attributeusage
2.conditional
3.obsolete:[obsolete("過時了")]
編譯器會給出警告資訊[obsolete("過時了",true)]
編譯器會給出錯誤資訊
自定義特性
委託
delegate void consolewrite1();
class program
static void consolewrite()
指標變數
static unsafe void test12() ,記憶體位址為",i,(int)p);
console.writeline();
}
傳遞指標作為方法的引數
static unsafe void main() ,var2:",var1,var2);
int* a = &var1;
int* b = &var2;
swap(a,b);
console.writeline("var1:,var2:",var1,var2);
console.readline();
}static unsafe void swap(int* a,int* b)
使用指標訪問陣列元素
static unsafe void array() ;
fixed (int* ptr = list)
/* 顯示指標中陣列位址 */
for(int i = 0;i<3;i++) ]=",i,(int)(ptr+i));
console.writeline("value of list=",i,*(ptr+i));
}console.readkey();
out引數:乙個方法返回多個不同型別的引數
static void main()
public static int test7(out string a)
params引數
static void main()
static void params(params int array)
}console.writeline("最大值為",max);
console.readline();
}
ref引數
static void main()
static void ref(ref int a)
連線資料庫
static void mysqlconnection() ;name:;pid:",mysqldatareader.getstring(0),mysqldatareader.getstring(1),mysqldatareader.getstring(2));}}
mysqlconnection.close();
}
C 學習筆記(c 入門)
經常忙碌的我,今天也有時間學習自己感興趣的c 程式語言了,首先我要記錄這個有意義的時間 2016年6 月6日星期一。那麼學習c 之前,我們先要了解什麼是 c 語言,簡單地說,c 語言是一種在 c語言基礎上被提出來的計算機程式語言,與 c語言一樣,c 語言在計算機的語言中分類屬於 高階語言 也就是一種...
c 入門學習筆記繼承
繼承,物件導向程式設計的上方寶劍,有了它上下通吃 skyala 人 類 父母 物件 子女 繼承 多重繼承 子孫 多型性 哇,my god 多麼完美的曲線!宣告 1.繼承的概念及重要性 2.基類 3.派生類 4.基類 vs 派生類 5.多重繼承 6.應用舉例 a.構造 析構的呼叫順序 重定義函式 tp...
C 語言入門學習筆記
c 語言入門學習筆記 一 c 是什麼 c 讀作 c sharp 是一種程式語言,它是為生成在 net framework 上執行的各種應用程式而設計的。c 簡單 功能強大 型別安全,而且是物件導向的。c 憑藉在許多方面的創新,在保持 c 語言風格的表現力和雅緻特徵的同時,實現了應用程式的快速開發。v...