c# 去除转义符号_c#语法
一、.net面向對象
什么是面向對象?
1、面向對象編程英文 Object-Oriented Programming 簡稱 OOP
2、面向過程——是指把問題分解成步驟,一步一步實現。
面向對象——是把構成問題的事務分成各個對象,利用對象之間的關系來解決問題,面向對象因為把事務分成各個對象,所以更容易實現對象的封裝,對象的復用。這也就是面向對象的幾種特征(封裝、繼承、多態)。
為了更明白一點,舉個例子:要解決去某水表制造公司上班這個問題,采用面向對象先分解成對象
1.起床 這是一個對象,里面有成員(穿衣、洗臉、刷牙、吃飯)
2.上路 這是第二個對象,里面有成員(交通工具、路線)
3.到崗 這是第三個對象,里面有成員(簽到)
4.上班 這是第四個對象,也是一天上班的核心對象,這個對象可以比較復雜一點,包含的成員比較多(進入工作任務、開始抄水表、完成工作流程、匯報工作等)
5.下班 這是第四個對象,這個對象,也有成員(交通工具和路線)這個和上班走同樣的路線,只是方向不同,這里可以用到面向對象的一點重用的特性。
通過個例子,就使用面向對象編程的方式完成了一個《水表公司上班超級系統》
二、.net數據類型
1、基本數據類型(C#就15種數據類型)
分類:值類型(13個),引用類型(2個:string和object)
整型8個,浮點型 1個,decimal 型 2個,布爾類型 1 個,char字符類型 1 個,引用類型(string字符串類型1個、object類型1個)
QC:命名空間的作用:
using system; //引用系統命名空間,主要是 int、bool等基本類的命名空間
using system.collection.generic;//主要是泛型集合的命名空間 List<T>……
using system.test;//這個應該是自己定義的命名空間
使用命名空間的好處是 減少代碼量
例如:
使用命名空間 Using system;
int a=100;
Console.WriteLine(a);
========================================
不使用命名空間
那么完成相應的事情,就要寫:http://System.int a = 100;
System.Console.WritelLine(a);
關于轉義字符
為了使用一些特殊的字符型 ,C#使用轉義字符
字符型中有下列轉義符:
1,'用來表示單引號
2,"用來表示雙引號
3, 用來表示反斜杠
4, 0 表示空字符
5, a 用來表示感嘆號
6, b 用來表示退格
7, f 用來表示換頁
8, n 用來表示換行
9, r 用來表示回車
10, t 用來表示水平tab
11, v 用來表示垂直tab
要點:
1.數據類型分為 值類型 (Value type) 和 引用類型 (reference type)
2.值類型存儲實際值,而引用類型則為對存儲在內存中某處的值的引用
3.string為引用類型,char為值類型
4.所有值和引用類型都由一個名為object的基本類發展而來
5.枚舉(enum) 和結構(struct)為值類型
6.類、接口、數組、委托為引用類型
2、數據類型的轉換
(1)c#類型轉換的方式: 隱式轉換、顯示轉換、用戶自定義轉換、使用幫助程序類的轉換
隱式轉換:由于該轉換是一種安全類型的轉換,不會導致數據丟失,因此不需要任何特殊的語法。 例如,從較小整數類型到較大整數類型的轉換以及從派生類到基類的轉換都是這樣的轉換。
顯式轉換(強制轉換):顯式轉換需要強制轉換運算符。 在轉換中可能丟失信息時或在出于其他原因轉換可能不成功時,必須進行強制轉換。典型的例子包括從數值到精度較低或范圍較小的類型的轉換和從基類實例到派生類的轉換。
用戶定義的轉換:可以定義一些特殊的方法來執行用戶定義的轉換,從而使不具有基類–派生類關系的自定義類型之間可以顯式和隱式轉換。
使用幫助程序類的轉換:若要在不兼容的類型之間進行轉換,例如在整數與 DateTime 對象之間轉換,或者在十六進制字符串與字節數組之間轉換,則可以使用 BitConverter 類、Convert 類和內置數值類型的 Parse 方法,例如 Int32.Parse。
(2)裝箱和拆箱轉換(Boxing,UnBoxing)
主要是值類型與引用類型之間相互轉換
如:object obj 1= 10;
int i = (int)obj; //拆箱
int j = 100;
object obj2 = j; //裝箱
(3)string類型轉換成int類型 bool result = Int32.TryParse(value (string類型), out number(int類型));
int.Parse 方法或者 int.TryParse方法都可以將一個string類型的數據轉換成int類型。
①int.Parse法:——
intA =int.Parse(str);
②int.TryParse法
int.TryParse(str, out intA);
(4)Convert類實現數據類型轉換
ToBoolean 將指定的值轉換為等效的布爾值
ToByte 將指定的值轉換為8位無符號整數
ToChar 將指定的值轉換為Unicode字符
ToDateTime 將指定的值轉換為DateTime
ToDecimal 將指定值轉換為Decimal數字
ToDouble 將指定的值轉換為雙精度浮點數字
ToInt16 將指定的值轉換為16位有符號整數
ToInt32 將指定的值轉換為32位有符號整數
ToInt64 將指定的值轉換為64位有符號整數
ToSByte 將指定的值轉換為8位有符號整數
ToSingle 將指定的值轉換為單精度浮點數字
ToString 將指定值轉換為其等效的String表示形式
ToUInt16 將指定的值轉換為16位無符號整數
ToUInt32 將指定的值轉換為32位無符號整數
ToUInt64 將指定的值轉換為64位無符號整數
那么,類型.Parse與Convert有什么區別呢?他們的區別在于Parse的參數只能是字符串類型(string),只能把字符串類型轉成其它類型,而Convert可以某一對象的值轉換成很多類型。
如:
bool Bl = = true;
int a = Convert.ToInt16(Bl); //只能這樣轉換,否則通不過。
(5)日期類轉換
字符串轉日期
string dateString = "5/1/2008 8:30:52 AM";
DateTime date1=DateTime.Parse(dateString,System.Globalization.CultureInfo.InvariantCulture);
日期轉字符串
DateTime dat1 = new DateTime();
string datastr=
dat1.ToString(System.Globalization.CultureInfo.InvariantCulture);
三、變量和常量
1.常量:在編譯時其值能夠確定,并且程序運行過程中值不發生變化的量.
通俗來說,就是定義一個不能改變值的量。既然不能變動值,那就必須在定義的時候初始化。
示例:
語法: const 類型名 常量名=常量表達式;
例子: const string cat="hello cat";
2.變量:具有變量名和值的對象
變量就是把數據暫存于某處內存中,以備調用。
示例:
聲明:[訪問修飾符] 類型 變量名[=初值][變量名=[初值]...];
int int1,int2,int3=3,int4;
3.變量的作用域
變量可以使用修飾符,可用的修飾符如下:
public 不限制訪問。
protected 僅限于當前類和派生類。
Internal 訪問僅限于當前程序集。
protected internal 訪問僅限于當前程序集或從當前派生的類。
private 僅限于當前類。
除以上修飾符外,還可以使用 static(靜態)和readonly(只讀)
3.命名規范
變量和方法參數命名:根據不同的數據類型前綴+首字母大寫的變量描述
要點:
1.但是在方法體內聲明的變量,不可以用public private等訪問修飾符修飾;
2.在類中聲明的變量,稱為字段或成員變量;
3.變量名必須是字母或下劃線開頭不能有特殊符號;
4.變量可以同一語句中聲明多個,用逗號分開;
5.變量申明時,可以賦值,也可以不賦值。
6.常量和只讀變量區別:
a.常量必須在聲明時就被初始化,指定了值后就不能修改了.
只讀字段可以在聲明時被初始化,也可以在構造函數中指定初始化的值,在構造 以后值就不能修改.
b.常量是靜態的,而只讀字段可以是靜態和動態的
c.Const可以用在字段和局部變量,readonly只可以修飾字段
四、運算符和表達式
1.運算符分類和優先級
2.表達式分類
按運算符數目可分為:一元表達式,二元表達式,三元表達式
按用途分類:正則表達式、Lambda表達式等等。
關于這些復雜類型的表達式,后續會再作詳細說明。
要點:
1. / 除法運算符 5/2=2 (并非四舍五入,而是舍去小數)
2. %取模運算符 5%2=1 5.0%2.2=0.6 (第2數整除第1數的余數)
3. ++ 遞增運算符 -- 遞減運算符
以上兩個運算符 ,可以在前也可以在后, 但是在前和在后,其執行順序不同 例如:
int a=1; int b=a++;
運算符在后,則程序先把a的值賦給b,再對a執行+1;
其運行結果為: a=2 b=1
如果寫成下面的例子:
int m=1;int n=++m;
則執行完以后結果為: m=2 n=2;
實際上相當于 int m=1; m=m+1; int n=m;
4.位移運算符<<(左移) 和 >>(右移)
這兩個運算符比較不常用,按官方的理解稍有點復雜
可以這樣理解:其實就是數據轉換成二進制的左右移動;
右移左補0,左移右補0,后面多出來的部分去掉。
如:把89右位移一位,可以這樣計算:
string flag = Convert.ToString(89, 2); //這是把你的89轉為2進制數。。
//flag結果:1011001
//你要右位移,左邊補個0,后面多出來一位去掉
int j = Convert.ToInt32("0101100", 2); //再把2進制轉化了10進制數。。
//結果:44
//位移就是這么簡單
5.邏輯異或運算符 ^
對于簡單邏輯運算符 & || 我們比較熟悉了,但對于異或好多人就 不了解,甚至很少用到
理解這個運算符,首先它雖然是邏輯運算符,但也是可以運算整數的
先說布爾運算,簡單說,就是兩個操作數不同,則為真;相同時為假
如:true ^ true=false; false^false=false; true ^false=true; false ^true=true;
操作整數時,則進行位運算,如:
100^45=73
數值運算舉例
按位異或的3個特點:
(1) 0^0=0,0^1=1 0異或任何數=任何數
(2) 1^0=1,1^1=0 1異或任何數-任何數取反
(3) 1^1=0,0^0=0 任何數異或自己=把自己置0
例如:10100001^00010001=10110000
按位異或的幾個常見用途:
(1) 使某些特定的位翻轉
例如對數10100001的第2位和第3位翻轉,則可以將該數與00000110進行按位異或運算。
10100001^00000110 = 10100111
(2) 實現兩個值的交換,而不必使用臨時變量。
例如交換兩個整數a=10100001,b=00000110的值,可通過下列語句實現:
a = a^b; //a=10100111
b = b^a; //b=10100001
a = a^b; //a=00000110
(3) 在匯編語言中經常用于將變量置零:
xor a,a
(4) 快速判斷兩個值是否相等
舉例1: 判斷兩個整數a,b是否相等,則可通過下列語句實現:
return ((a ^ b) == 0)
1. 字符和字符串運算
由于字符可以隱式轉為整型,如 ‘a’+6=103 a被轉為Unicode 97
‘a’*’b’=9506 相當于 97*98
‘a’>’b’結果為false 相當于97>98 返回false
‘a’ +”早上好” 返回 “a早上好”
由此可見。不同類型運算在C#中會先執行一次隱式轉換
學習: http://edu.51cto.com/c222faa0-275f-42cb-85e6-e161b5dd0bff四、異常:
Console.WriteLine("請輸入一個數:");//第一種異常:類型轉換錯誤int num = int.Parse(Console.ReadLine());//第二種:存儲的值超過范圍Console.WriteLine("請輸入一個數:");byte num2 = byte.Parse(Console.ReadLine());//第三種:除數為0double num03 = num / num2;//第四種:數組超過索引范圍int[] array = { 1,2,3,4,5,6};foreach(int item in array){Console.WriteLine("{0}",item);}//第五種:連接數據庫發生的異常Console.ReadKey();總結
以上是生活随笔為你收集整理的c# 去除转义符号_c#语法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: word一键生成ppt 分页_如何一键把
- 下一篇: C# 面向对象三大特性:封装、继承、多态