邁克老貓
來自:老貓的理想
本教程參考c#和asp.net程序設計教程撰寫,有什么不足之處請大家指出,或在老貓的理想blog留言。
這次簡述一下操作符
 1.算術操作符
 算術操作符包括加(+)、減(-)、乘(*)、除(/)和求余(%)。加減操作符除了用于整數和實數的加減運算外,還適用于枚舉類型、字符串類型和委托類型,這是通過操作符重栽實現的。
 string mf1="mike";
 string mf2="cat";
 string mf3=mf1+mf2;//mf3="mikecat"
 
 using system;
 enum weekday
 {
 sunday,monday,tuesday,wednesday,thursday,friday,saturday
 };
 class mikecat
 {
 static void main()
 {
 weekday mf1=weekday.sunday;
 weekday mf2=mf1+3;
 console.writeline("mf1={0},mf2={1}",mf1,mf2);
 }
 }//結果:mf1=sunday,mf2=wednesday
 2.賦值操作符
 賦值就是給一個變量賦一個新值。c#中分簡單賦值和復合賦值兩類。
 簡單賦值:"=" a=b=c 等價于 a=(b=c)
 復合賦值:"+=" "-=" "*=" "/=" "%=" "|=" "^=" "<<=" ">>=" a+=10 等價于a=a+10
 3.比較操作符
 比較操作符用來比較兩個表達式的大小,如大于(>) < == != <= >= 。
 4.邏輯操作符
 邏輯與(&&) 邏輯或(||) 和 邏輯非(!)
 5.位操作符是對數據按二進制位進行運算的操作符。c#位操作符包括按位與(&) | ~ << >>
 using system;
 class mikecat
 {
 public static void main()
 {
 int a=6&3;
 console.writeline("a={0}",a);
 //6的二進制是00000110,3的二進制是00000011,按位與后等于00000010,即2
 int b=6|3;
 console.writeline("b={0}",b);
 //6的二進制是00000110,3的二進制是00000011,按位或后等于00000111,即7
 int c=~6;
 console.writeline("c={0}",c);
 //6的二進制是00000110,按位取反后是11111001即-7
 int d=6^3;
 console.writeline("d={0}",d);
 //6的二進制是00000110,3的二進制是00000011,按位異或后等于00000101,即5
 int e=6<<3;
 console.writeline("e={0}",e);
 //6的二進制是00000110,左移三位后等于00101000,即48
 int f=6>>2;
 console.writeline("f={0}",f);
 //6的二進制是00000110,右移二位等于00000001,即1
 }
 }
 6.is操作符
 is操作符用于檢查運行時對象類型是否和給定的類型兼容。表達式"e is t"中的e是一個表達式,t是一個類型。返回值是一個布爾值。
 如果滿足下列兩個條件,則 is 表達式計算為 true 值: 
 expression 非 null。 
 expression 可以被轉換為 type。也就是說,將完成形式 (type)(expression) 的轉換表達式而不引發異常。
 示例
 // cs_keyword_is.cs
 // the is operator
 using system;
 class class1 
 {
 }
 class class2 
 {
 }
 public class istest 
 {
 public static void test (object o) 
 {
 class1 a;
 class2 b;
 if (o is class1) 
 {
 console.writeline ("o is class1");
 a = (class1)o;
 // do something with a
 } 
 else if (o is class2) 
 {
 console.writeline ("o is class2");
 b = (class2)o;
 // do something with b
 }
 else 
 {
 console.writeline ("o is neither class1 nor class2.");
 }
 }
 public static void main() 
 {
 class1 c1 = new class1();
 class2 c2 = new class2();
 test (c1);
 test (c2);
 test ("a string");
 }
 }
 輸出
 o is class1
 o is class2
 o is neither class1 nor class2.
 7.三元操作符
 三元操作符(?:)也稱條件操作符。對條件表達式"b?x:y",總是先計算條件b,然后進行判斷。如果b的值為true,則計算x的值,否則計算y的值。條件運算符為右聯運算符,因此該形式的表達式 a ? b : c ? d : e 按如下規則計算:a ? b : (c ? d : e)
 8. . 運算符
 點運算符用于成員訪問。name1 . name2
 class simple 
 {
 public int a;
 public void b()
 {
 }
 }
 simple s = new simple();
 變量 s 有兩個成員 a 和 b;若要訪問這兩個成員,請使用點運算符
 s.a = 6; // assign to field a;
 s.b(); // invoke member function b;
這么短也要拆開發表,郁悶...