C#課程筆記。
第一課
。Net的技術
Windows控制台程式
1. WinFrom程式:像我們想在常用的QQ等視窗程序。
3. ASP.Net :開發網站程式。如WebFrom開發
4 嵌入式開發 也可以用。Net來開發。
5.WCF:通訊程式如QQ。WF 工作流程。
第二課:
控制台程式
Console.WriteLine("請輸入一個整數:\n");//用於列印一行字串相當於printf();
string s = Console.ReadLine();//相當於scanf();用於接收字串。
int i = Convert.ToInt32(s);
int i1 = i + 10;
Console.WriteLine("{0}",i1);
string s1 = i.ToString(); //string s1 = Convert.ToString(i);
Console.WriteLine(s1);
Console.ReadKey();//這行代碼是為了防止程
第三課:
講到C#的變數的命名規則,跟C沒多大差別。基本一樣。
第四課:
C#中 加減乘除運算規則 跟C沒有多大區別。不過C#的加法可以運用到 字串中去。
例如:string s=”Hello”; string s1=”Wrold”; string s2=s + s1; 所以string s2=”HelloWrold”;
String s =s1 + s2 + “hahah ”;
還有 i++;是自加一。與C無異。
第五課:講了賦值。
i=3; j=5;
temp=i; i=j; j=tmep;
第六課:
布爾運算
相等判斷:== 不要和=混淆。
不等號 : !=
bool b=true; 取反 !b;
i=3; j=4; 並且 &&。 或者||。 在C#中,其實單& 單|也可以是並且,或者運算子。但是他們不存在短路運算的功能。而&& || 是有短路運算功能的。效率比較高。所以在使用中一般都是用雙&& 雙||。
(i>=3)&&(j<4) Flase.
第七課:
三元運算:
If 語句:格式跟C語言一樣。只是輸入輸出格式不同而已
Console.WriteLine("please input your age:");
int age = Convert.ToInt32(Console.ReadLine());
if (age > 18)
{
Console.WriteLine("promit to see the film");
}
else
{
Console.WriteLine("forbit to see the film");
}。
If ()
{}
else if()
{}
else
{}
在C#中,字串是否相等可直接用== 判斷其真假。如果為真,則字串相等。
例如:
string ps=Console.ReadLine();
if (ps=="888888")
{
Console.WriteLine("right");
}
else
{
Console.WriteLine("flase");
}
第八課:
這節課是作業的講評,由於作業比較簡單,所以就略過了。
第九課:講到了switch的用法。他跟C語言的區別是:case後面一定要用到break。不可以省略。即是執行了一個case塊,之後就必須退出switch。
第十課:
迴圈語句:while do while。
第十一課:
迴圈的中斷
用break continue。
用while continue 計算1~100之間除了7的倍數外的其他數的和。
用while 和break 實現輸入使用者名稱和密碼,不正確就不斷要求輸入。
第十二課:
for 迴圈語句
for(int i=0;i<10;i++)
{
if(i==3)
continue;
Console.WriteLine(“i={0}”,i);
}
Continue;放在for迴圈中,不用擔心i++放在什麼位置,i++一定會被執行的。
這個比while更好用。
當i==3成立時,continue語句的作用是跳過continue後面的語句不執行,直接跳到i++語句。
即是跳到這個迴圈圈的下一步執行。
第十三課:
類型轉換:
分為隱式轉換和顯式轉換。
當目標類型一定能滿足源類型轉換過去後的要求的話就是隱式轉換。如果當目標類型不一定能滿足源類型轉換過去的要求的話就需要顯式轉換。
顯示byte int 等類型的變數的取值範圍可用 byte.MinValue~byte.MaxValue.
Byte 的取值範圍0~255. 而int的範圍要大很多。
所以,當byte b; int i; 如果 i=b; 是隱式轉換,因為i肯定包含b的取值。
如果 b=i; 這樣是編譯不通過的。需要一個顯式轉換。b=(byte)i;
類型轉換Cast是在記憶體層級上的轉換。記憶體中的資料沒有變化,只是觀看的視角不同而已。
所以,只有在記憶體儲存上存在交集的類型才能進行cast轉換。例如資料類型int long 等。都是數。而sting int之間是不能進行轉換的。
Convert
不再是記憶體層級上的轉換。
字串轉換成資料,資料轉換成字串。
String s=”12”;
Int i=Convert.ToInt32(s);
或者
Int i=20;
String s=Convert.ToString(i);
第十四課
枚舉
Enum Dir {south ,north,east,west}
Dir d=Dir.south.
十五課:
數組:
Int [] nums={5,3,8}; //聲明並初始化nuns數組。
String[] names={“tom”,”jerry”,”jam”};
int[] nums1= new int[5]; //nums1這個數組有5個元素。
int[] nums1= new int[5]{1,2,3,4,6};也可以這樣。但是很少有人這麼變態的聲明。
在看看這個函數:新的迴圈函數
int[] nums = {5,3,8,2,1};
foreach(int n in nums) //遍曆數組中的每一個數並賦給n
{
Console.WriteLine("{0}",n);
}
十六課:函數
函數的功能是一次編寫,多次重複調用。簡化代碼。
Static void PrintName() //void指無傳回值。
{
Console.WriteLine(“Please input your name:”);
}
十七課:
函數的參數:向函數內部傳值,動態改變函數內部需要的值。
參數數組:
看看這個函數:跟上一個有什麼區別啊?
區別就在於函數參數中多一個params。動態參數,因為此參數的個數是不確定的。所以C#將不確定的參數打包到一個數組中來。
可變參數的前面可以有其他固定參數,而後面不能再有其他參數。而且只能有一個params參數。
參數預設值。。Net4.0才有。
十八課:函數的重載:
在C#中,函數名可以相同嗎?答案是可以。不過是有條件的。函數的參數類型或者參數個數必須不同才可以。
十九課:字串處理:
看看下面的函數吧:
看看下面函數:
函數Split的使用:
函數Replace的使用:
函數Substring 的功能:提取某個字串中的指定字串。
這個函數有兩個重載的函數,分別是1個和2個參數的。
函數Contains的功能:判斷一個字串中是否含有某個字串,返回布爾值。
函數EndsWith()的功能,判斷字串是否為某個字串結尾。
同理,StartsWith()的功能是判斷字串是否為某個字串開頭。
函數Indexof()的功能,返回給定字串在主串中的位置,從第幾個字元開始。
函數LastIndexof()的功能,返回給定字串在主串中的最後出現位置。
函數PadLift() 和PadRight()的功能如下:
二十課:練習講解:
函數ref 參數,引用傳遞,在函數內部改變變數的值。第一個被調函數不會改變主函數內的變數的值,值傳遞。而第二個是引用傳遞。
函數參數out 在函數內部給變數賦初值。
二十一課:變數的作用於。
二十二:調試:
繼續 ,斷點,條件斷點,叫用次數斷點。