字面量
明确的,固定的值,比如 110、张三
引用的比较 ==
对于大多数引用类型来说,比较它们的相等性时,只比较它们的引用。
如果引用相等,也就是说,如果它们指向内存中相同的对象,那么相等性比较为true,否则为false,即使内存中两个分离的对象在所有其他方面都完全相等;这称为浅比较。
string类型对象也是引用类型,但它的比较方式不同。比较字符串的相等性时,将比较它们的长度和内容(区分大小写)。如果两个字符串有相同的长度和内容(区分天小写),那么相等性比较返回true,即使它们占用不同的内存区域。这称为深比较。
委托同string 也是引用类型,并且也使用深比较。比较委托的相等性时,如果两个委托都是null,或两者的调用列表中有相同数目的成员,并且调用列表相匹配,那么比较返回true。
比较数值表达式时,将比较类型和值。比较enum类型时,将比较操作数的实际值。
短路
false && 44 短路
true || 44 短路
typeof 运算符
typeof运算符返回作为其参数的任何类型的System.Type对象。通过这个对象,可以了解类型的特征。(对任何已知类型,只有一个System.Type对象。)你不能重载typeof运算符。
Type t = typeof(SomeClass);
using System.Reflection;
class A
{
public int field1;
public int field2;
public void fun1() { }
public int fun2() { return 1; }
}
void Main()
{
Type t = typeof(A); // 同 Type t = new A().GetType();
FieldInfo[] fi = t.GetFields();
MethodInfo[] mi = t.GetMethods();
foreach (FieldInfo f in fi)
{
Console.WriteLine(f.Name);
}
foreach (MethodInfo m in mi)
{
Console.WriteLine(m.Name);
}
}
field1
field2
fun1
fun2
GetType
ToString
Equals
GetHashCode
|