C#操作符教程

转载 2006年06月18日 15:47:00
迈克老猫
来自:老猫的理想

本教程参考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;

这么短也要拆开发表,郁闷...

相关文章推荐

C#数据类型及操作符授课课件

  • 2010年06月28日 09:58
  • 136KB
  • 下载

C#中的is和as操作符

在C#语言中进行类型转换的操作符is和as。is和as都是强制类型转换,但这两者有什么相同之处和不同之处呢?在使用is和as需要注意哪些事项?下面我们从简单的代码示例去探讨这个简单的问题。注:此博文只...

C#操作符重载

C#操作符重载是什么?是指允许用户使用用户定义的类型编写表达式的能力。例如,通常需要编写类似于以下内容的代码,以将两个数字相加。很明显,sum 是两个数字之和。int i = 5; int sum ...

C#中的操作符

C#的精彩世界还离不开其提供的丰富的操作符,按照操作数的个数,C#操作符可分为以下几类: 一元操作符 :++x,x++,--y,z-- 二元操作符:x+y,x-y,x*y 三元...
  • lxxlql
  • lxxlql
  • 2011年11月07日 16:40
  • 1739
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#操作符教程
举报原因:
原因补充:

(最多只允许输入30个字)