Object参数示例

你想了解 C# 程序语言中的类型系统,同样类型系统也关系使用 object 类型作为参数。当一个方法接收一个 object 参数,你可以传递给它任何派生类的实例;因为每个类型都是从 object 类型继承而来,你可以传递任何值到接收 object 参数的方法。在这篇文章中,我们使用 object 类型作为方法的参数来检验 object 类型。

使用 object 类型

这里,我们使用一个程序文本来介绍接收 object 类型参数的方法来演示如何在方法中使用 object 作为参数。在此提醒, object 关键字其实是基础类库 System.Object 类型的别名。下面程序传递直接一个 string 类型到 Test 方法的 object 参数中,并直接分配一个 string 对象到 object 。也可以使用 int 变量作为 object ,甚至可以使用 null 常量作为 object

=== 使用 object 类型参数程序 (C#) ===

using System;

 

class Program{

    static void Main(){

        // 使用 string 类型作为 object

        string value = "Dot Net Perls";

        Test(value);

        Test((object)value);

        // 使用 integer 类型作为 object

        int number = 100;

        Test(number);

        Test((object)number);

        // 使用 null 作为 object

        Test(null);

        Test((object)null);

    }

 

    static void Test(object value){

        // 测试对象。

        // 如果是 string integer 在屏幕上显示他们的值。

        Console.WriteLine(value != null);

        if (value is string){

            Console.WriteLine("String value: {0}", value);

        } else if (value is int){

            Console.WriteLine("Int value: {0}", value);

        }

    }

}

=== 程序输出 ===

True

String value: Dot Net Perls

True

String value: Dot Net Perls

True

Int value: 100

True

Int value: 100

False

False

程序文本的概述。这里我们讨论程序的输出。字符串变量分配了指向字符串常量的引用,并将它作为参数传递给 Test 方法。 Test 方法也接受 null 作为它的参数,并使用“ is ”来测试传递给 object 参数的继承类型。开始两句调用 Test 方法用来判断表达式(值是否是 string 类型)是否为真。接下去两句用于匹配(值是否是 int 类型)。同时使用 Console.WriteLine 方法将继承 object 类型的字符串表现形式打印在屏幕上。

更多继承类型作为参数

C# 语言中,每个类型逻辑上都是从 object 类型继承而来。实际上,如果你创建一个类并没有指定从哪里继承,隐含着继承 object 类型继承。在面向对象的程序中,类层次结构允许我们通过基类类型引用继承类类型。精确地说,这能够作为传递闭包的概念来描述。

object 参数的形式

在结构化程序语言中,方法签名包括参数列表的格式,参数列表也可能为空。在参数列表中也有可能包含 object 类型的参数,但这可能会引发类型信息丢失。如果你在参数列表中包含了 object 类型,你需要尝试去确定 object 类型的继承类。你可能会用上“ is ”或“ as ”。

对象装箱

C# 语言中, object 类型在很多方式是常用的类型,虽然他在执行是有些复杂。例如,由于优化的关系,值类型并没有真正的引发派生堆,并没有在派生堆中,对象不可能真正存在。由于, object 类型在这个例子中可以认为逻辑继承代替物理继承。由于值类型指针的这个缺陷,值类型要作为它的 object 基类类型必须分配一个新的对象。这个称为装箱,相反的过程被称为拆箱。

结束语

在这篇文章中,我们研究了 C# 编程语言中使用 object 类型作为参数。这个程序示例阐明了如何使用 object 类型作为参数,以及在参数列表中如何接受任意类型作为 object 类型。另外,我们注意到作为理解类型的继承,并且具体完成问题关系到值类型执行的关键,例如装箱。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜晚回家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值