邁克老貓
來自:老貓的理想
本教程參考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;
這么短也要拆開發表,郁悶...