由于是多态对象,基类类型的变量可以保存派生类型。 要访问派生类型的实例成员,必须将值强制转换回派生类型。 但是,强制转换会引发 InvalidCastException 风险。 C# 提供模式匹配语句,该语句只有在成功时才会有条件地执行强制转换。 C# 还提供 is 和 as 运算符来测试值是否属于特定类型。
下面的示例演示如何使用模式匹配 is 语句:
class Animal
{
public void Eat() { Console.WriteLine("Eating."); }
值与引用参数之间的区别:
在 C# 中,既可以通过值也可以通过引用传递参数。在调用环境中通过引用传递参数允许函数成员(方法、属性、索引器、运算符和构造函数)更改参数的值,并保持该更改。若要通过引用传递参数,请使用 ref 或 out 关键字。
下面的示例阐释值与引用参数之间的区别:
class Program
{
static void Main(string[] args)
{
int arg;
// Passing by value.
// The valu
逻辑运算符:&&,||,!
public class Demo1{
public static void main(String[] args) {
boolean A = true;
boolean B = false;
System.out.println(" A && B = " + (A&&B) );
System.out.println(" A || B = " + (A||B) );
Sys