本文主要介紹了ASP.NET中的C##基礎。具有一定的參考價值,下面跟著小編一起來看下吧
說明:asp.net作為一種開發框架現在已經廣為應用,其開發的基礎除了前端的html、css、JavaScript等後端最重要的語言支援還是C#,以下將主要用到的基礎知識做一個總結,面向後面的學習。
一、C#是一種物件導向的程式語言,主要用於開發可以在.net平台上運行的應用程式。是一種強型別語言,因此每個變數都必須具有宣告類型。 C#中有兩種資料型別:值型別和引用型別。 (其中值類型用於儲存值,引用類型用於儲存實際資料的引用)。
1.值類型
值類型表示實際的數據,儲存在堆疊中。 C#中多數基本型別都是數值型別。值類型包括簡單類型、枚舉類型和結構類型。
簡單型別包含數值型別和bool型別。 (一般情況下會根據需求選擇數值類型。當數值較小時可嘗試選擇byte類型)。
2.引用類型
引用類型表示指向資料的指標或引用,可儲存實際資料的引用。引用類型為null時表示沒有引用任何物件。引用類型包括介面、類別、陣列和指標等。其中類別又包含裝箱類型、委託、自訂類別。 (說明:儘管string是應用類型,但如果用到了相等運算子==或!=時則表示比較string物件的值)。
3.裝箱與拆箱
簡單的說,裝箱就是從值型別到引用型別的轉換。同樣,拆箱是從引用型別到值型別的轉換。使用拆箱可以像操作簡單型別一樣操作複雜的參考類型,這也是C#強大的功能。
簡單的裝箱和拆箱的實例
class Test { static void Mian() { int i = 3; object a = i;//装箱 int j = (int)a;//拆箱 } }
說明:在裝箱和拆箱的過程中,任何值型別都可以被當作object引用型別來看。當一個裝箱操作把一個值類型轉換成一個引用類型時,不需要顯示地強制類型轉換;而拆箱操作把引用類型轉換到值類型時,由於它可以強制轉換到任何可以相容的值類型,所以必須顯示地強制類型轉換。
二、常數和變數
1、常數:也稱為常數,在編譯時已知並執行過程中不變的量,常數被宣告為字段,宣告時在字段的型別前面使用const關鍵字,常數必須在宣告時初始化。常數可標示為public ,private,protected,internal,protected internal這些存取修飾符定義了使用者存取該常數的方式。
2、變數:變數的命名規則必須符合標識的命名規則,並且變數名稱要盡量有意義,以便閱讀。變數是值在程式運行過程中不斷變換的量,通常用來保存程式運行過程中輸入的資料、計算所得的中間結果和最終結果。
使用變數前必須對其進行聲明,變數可以保存某個給定類型的值。宣告變數時,還需要製定它的名稱。宣告變數的形式:【存取修飾符 資料類型 變數名稱】。
修飾符的存取層級:
public :使成員可以從任何位置存取
protected:使成員可以從宣告它的類別及其衍生類別內部存取
private: 是成員僅從聲明它的類別內部存取
#internal:讓成員只可以從宣告它的組件內部存取
三、型別轉換
1、隱含型別轉換
隱含型別轉換是指不需要宣告就能進行的轉換。進行隱式轉換時,編譯器不需要進行檢查就能安全地進行轉換。
說明:從int long ulong float簡單型別轉為float時會出現精度損失。
2、明確型別轉換
#明確型別轉換也可以稱為強制型別轉換,它需要在程式碼中聲明要轉換的類型。如果在不存在隱式轉換類型之間進行轉換,就需要使用明確型別轉換。
強制類型轉換可以使用Convert關鍵字進行資料類型的強制轉換。
例如:float f=123.345;
int i=(int)f;
#或:float f=123.345# ToInt32(f);
說明:由於明確型別轉換包含所有隱含型別轉換與明確型別轉換,因此一次總是可以使用強制型別轉換四、運算子及表達式C#提供了大量的運算符,這些運算符指定在表達式中執行哪些
運算符號。表達式是可以計算且結果為單一值、物件、方法或命名空間的程式碼片段。
1、算術運算子和算術表達式算術運算子包括+ - * / 和%。 (過於簡單不在贅述);
2、關係運算子與關係表達式關係運算子包括:<>! = == <= >=等(各種語言都是相同的);
屬性、事件或索引元素賦新值。常用的有:=, +=,-=,*=,/=,^=,%=,<<=(右移賦值),>>=(左移賦值)等。
4、邏輯運算子與邏輯表達式#邏輯運算子包含:&(與運算子) ,^(異或運算符),!(非操作符),|(或運算子),用邏輯運算子把運算物件連接起來。
5、位元運算子#位元運算子指將它的運算元看成一個二進位的集合,每個二進位位元可以取值0或1。 <<左移,>>右移。
6、其他運算子遞增、遞減運算子:++,--,a--,a++.
條件運算子:? :根據布林類型表達式的值傳回兩個值中的一個。例如:int a=1; int b=2; a!=b?a++:a--;(如果a!=b,則實例傳回執行結果為2,否則為1)。
new運算子:用於建立物件和呼叫建構函數。例如: int i=new int();相當於 int i=0;
as運算子:用於在相容的參考類型之間執行轉換。例如: string s =someObject as string; as運算子類似於強制轉換,當轉換失敗時,運算子產生空值,而不是引發空值。
7、運算子的優先順序##S>>單目>>乘除>>加減> ;>移位>>比較>>相等>>位元與>>位元異或>>位元或>>邏輯與>>邏輯或>>條件>>賦值
五、字串處理1、比較字串 ##String 類別提供了一系列的方法用於字串的比較,如CompareTo和Equals等。
其中CompareTo方法用於比較兩個字串是否相等。 格式:String.CompareTo(String);傳回數值類型Equals方法用來決定兩個string物件是否具有相同的值。格式:String.Equals(String);返回布林類型2、定位及其字串##定位字串中的某個字元或紫川第一次出現的位置使用IndexOf方法。格式:String.IndexOf(String);其中的參數表示需要定位的字串。 (注意大小寫的書寫)。
3、
格式化字串# .Net提供了一种灵活全面的方式,能够将任何数值、枚举、日期时间等基本数据类型表示为字符串。格式化由格式说明符的字符串表示,该字符串指示如何表示基类型。 格式为:String Format(String,Object);例如: 4、截取字符串 SubString方法可以从指定字符串中截取子串。格式:String.SubString(Int32,Int32); 第一个参数表示子串的起始位置,第二个参数表示子串的结束位置。 5、分裂字符串 Split()方法可以把一个字符串按照某个分隔符分裂成一系列小的字符串。格式:String []Split(char[]);参数为分割字符串的数组。 6、插入和填充字符串 插入字符串:Insert()方法,用于在一个字符串的指定位置插入另外一个字符串,从而构造一个新的字符串。格式:String.Insert(int,String);第一个参数为指定插入的位置。 填充字符串:PadLeft()方法和PadRight()方法添加指定数量的空格实现左右对齐。格式:String PadLeft(int,char)。String PadRight(int Char); 7、删除和剪切字符串 删除字符串:Remove()方法用于在一个字符串的指定位置删除指定的字符。格式:String Remove(int ,int);第一个参数表示删除的位置,第二个参数表示删除字符的数量。 剪切字符串:常用的剪切首位的多余字符用到的方法有: Trim(),TrimStart(),TrimEnd();格式如下: 8、复制字符串 Copy()方法可以把一个字符串复制到另一个字符串中。格式:String Copy(String);//参数为需要复制的字符串,方法返回目标字符串。 9、替换字符串 Replace()方法可以替换掉一个字符串中的某些特定的字符或者子串。格式:String Replace(string ,string );第一个参数为待替换子串,第二工人参数为替换后的新子串。 六、流程控制 1、分支语句 1>if... else语句 if(布尔表达式) { 代码片段1} else{ 代码片段2} 2>switch语句 switch(条件) { case 条件1: break; ''''' } 2、循环语句 for()循环 while()语句 do while语句 foreach语句 3、异常处理语句 try.....catch语句 try.....finally语句,finally块用于清除try块中分配的任何资源,以及运行任何即使在发生异常时也必须执行的代码。控制总是传递给finally块,与try块的退出方式无关。 try...catch..finally语句 throw语句,用于立即无条件地引发异常,控制永远不会到达紧跟在throw后面的语句。 七、数组 数组是从System.Array派生的引用类型。 1、数组的声明: 一般语法:type[]arrayName;type[,]arrayName; 2、初始化数据(数组初始化的方式很多,可以通过new运算符创建数组元素初始化为它们的默认值) 3、数组的遍历 C#用foreach语句进行遍历数组,是一种简单的明了的方法来循环访问数组中的元素。 掌握以上的基本知识简单的asp.net开发后台部分就成功了一部分,学无止境。 以上是詳細介紹ASP.NET中的C#基礎知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!//格式化为Currency类型
string str1=String.Format("(C)Currency:{0:C}\n",-123.4556f);
//格式化为ShortDate类型
string str2=String.Format("(d)ShortDate:{0:d}\n",DateTime.Now);
string str="hello world";
string[] split=str.Split(new Char[]{'.','!'});
foreach(string s in split)
{
if(s.Tirm()!='''')
{
Console.WriteLine(s);
}
//或者修改为
string []split=str.Split(','.'!');
String Trim(Char[]);//从字符串的开头和结尾处一处空白。
String TrimStart(Char[]);//从字符串的开头处移除字符串在字符数组中指定的字符。
String TrimEnd(Char[]);//从字符串的结尾处移除字符数组中指定的字符。
//举例
int []arr=new int[6];
int [,]arr=new int[2,3];
int []arr1=new int[3]{1,2,3};
int [,]arr2=new int[3,2]{{2,3},{5,5},{3,5}};
string []arr;
arr=new string[3]{"sd","dddd","aaaa"};
int [,]arr;
arr=new int[,]{{2,3},{4,5},{4,2}};
//创建数组时可以省略new和数组长度
string[]arr={"ddd","fff","sss"};
int [,]arr3={{2,3},{4,5},{3,2}};
int []arr={2,3,6,3,2};
foreach(int i in arr){
system.Console.write({0},i);
}