程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c#基礎這些你都看過嗎?(一)-----僅供初學者使用

c#基礎這些你都看過嗎?(一)-----僅供初學者使用

編輯:C#入門知識

c#基礎這些你都看過嗎?(一)-----僅供初學者使用


1、注釋(不寫注釋是流氓,名字瞎起是扯淡)
‘///’一般用於注釋函數,注釋類。
2、快捷鍵
ctrl+k+d(有語法錯誤無法進行對齊)
ctrl+j(快速彈出只能提示)
shift+end,shift+home 鍵從行首到行尾,從行尾到行首;
ctrl+k+c 注釋 ctrl+k+u取消注釋
alt+shift+f10 打開說明引用空間。
f1轉到msdn
f12轉到定義

3、數據類型
decimal money=5000m;(金錢類型)
String 和string在c#中都一樣。String是.net平台中共用類型,string是c#中專有的,它們兩個都會映射到System.class類中。
4、命名規范
*1、Camel命名規范(多用於變量命名):首單詞首字母小寫,其余單詞首字母大寫。
*2、Pascal命名規范(多用於類或者方法命名):所有單詞首字母大寫。
5、占位符
使用方法:先挖個坑,再填個坑。
Console.WriteLine("..{0},...{1},...{2}",n1,n2,n3);
6、轉義符
\n:換行,但是在windows系統中不認識\n,只認識\r\n;
\":輸出半角引號
\t:tab鍵(排版)
\b:退格,首尾放置無效,只是退格一個。
@:1、取消\在字符串中的轉義作用。2、保留原格式輸出。
7、枚舉
=====枚舉與int和string之間轉換===
@1、枚舉類型默認可以和int類型相互轉換 枚舉類型跟int是兼容的
@2、枚舉類型轉換成string,用toString();
枚舉類型 對象名 =(枚舉類型)Enum.Parse(typeof(枚舉名),string s);
8、屬性
慣用法:屬性開頭字母大寫,字段開頭字母小寫。


class Person
{
private int age;

public int Age
{
set
{
this.age=value;
}
get
{
return this.age;
}


}
9、c#中無全局變量一說,只能用靜態字段來模擬全局變量。
10、c#中三大參數
1)out參數:
如果在一個方法中返回多個相同類型的值的時候,可以考慮返回一個數組。
但是返回多個不同類型的值時就需用out。out既可以返回多個相同值也可以返回多個不同值。
其實out作用就是:返回被調用函數的多個值。與一般返回方向是相反的。
注意:out定義變量必須在被調用函數中賦值。
2)ref參數:
能夠將一個變量帶入一個方法中改變,改變完成後,再將改變後的值帶出方法。


main()
{
int s=10;
Test(ref s);


}
Test(ref s1)
{
s1+=3
}
3)parame參數:
可變參數
將實參列表中與可變參數數組中類型一致的類型當作數組的元素。既實參可以不用聲明數組。
main
{
test(“為”,34,389,34);
}
test(string name,params int[] score)
{
}
11、方法的重載和返回值無關,至於方法名、參數類型、個數有關。
12、靜態與非靜態的區別
1)、在非靜態類中,既可以有實例成員,也可以靜態方法。靜態類中只能出現靜態成員。
2)、在調用實例成員時候,需要使用對象名.實例成員;
在調用靜態成員的時候,需要類名.靜態方法。
總結:靜態成員必須使用類名去調用,實例成員用對象去調用。
靜態函數中只能訪問靜態成員,不允許訪問實例成員。
實例方法既可以使用靜態成員,也可以使用實例成員。
靜態類中只能出現靜態成員。靜態類無法實例化。
使用:
1)、如果你想要你的類當做一個“工具類”去使用,這個時候可以考慮寫成靜態的類
2)、靜態類在整個項目資源共享。靜態類是占內存的。
GC Garbage Collection 垃圾回收器。
13、構造函數
作用:幫助我們初始化對象,構造函數是一個特殊的方法。
1)構造函數沒有返回值,連void也沒有
2)構造函數的名稱必須和類名一樣。
14、new
1)在內存中開辟一塊空間;
2)再開辟的空間中創建對象;
3)調用對象的構造函數初始化對象。
構造函數必須是public。
15、this
1)代表當前類的對象。
2)在類當中顯式調用本類的構造函數 :this
16、在一個項目中引用另一個項目的類
1)、先引用項目
2)、引用另一個項目的命名空間。
17、值類型和引用類型
區別:
1、值類型和引用類型在內存上存儲的地方不一樣
2、在傳遞值類型和傳遞引用類型的時候傳遞的方式不一樣。
值類型我們稱之值傳遞,引用類型我們稱之為引用傳遞。


值類型:int 、double、char、bool、decimal、struct、enum
引用類型:string、自定義類
存儲:
值類型存儲在內存的棧中。
引用類型存儲在內存的堆中。
18、字符串
1)、字符串的不可變性,如果字符串被重新賦值,老值並不刪除,而是在棧中將老的
地址刪除,重新給字符串賦予新的地址值。
當程序結束後,GC掃描整個內存,如果發現有的空間沒有指向,則立即銷毀。
2)、可以將string類型看作是char類型的只讀數組。
例:
string s="abcde";
//S[0]='B';不能這麼做,因為是只讀的
//如果改變的話,首先需進行對string的轉換。
char []chs=s.ToCharArray();
//將字符數組轉換成我們的字符串
s=new string(chs);
Console.WriteLine(s[0]);
19、StringBuilder
當字符串進行大量的循環累加時,會進行大量的開辟新的內存空間,比較慢。
計時:Stopwatch Start(); Stop(); Stopwatch.Elapsed //記錄運行的總時間。
StringBuilder.Append(i);追加方式進行累加。
StringBuilder會節省很大時間,原因在於它不開辟新空間,然後再將StringBuilder轉換為String
20、字符串方法
1)、Length()
2)、ToUpper()
3)、ToLower()
4)Equals(str1,StringComparision.OrdinalIgnoreCase):比較兩個字符串是否一致
,並忽略大小寫。
5)、Splite(字符數組,StringSplitOptions.RemoveEmptyEntries),則將字符數組內容刪除,並且不返回空數組和null。
6)、Contains()
7)、Replace(str1,str2)
8)、string.Substring();
9)、string.StartWith()/EndWith()
10)、string.indexof()返回int類型,返回字符串首先出現的位置
11)、string.LastIndexof()最後一個字符串出現的位置。
12)、string.trim()移除字符串中所有空格。string.trimStart()/trimEnd();
13)、string.IsNullOrEmpty()
14)、string.Join();能夠將指定的分隔符加入到數組中進行分割。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved