C#中实现可变参数实例

 更新时间:2015年01月23日 09:27:34   投稿:junjie  
这篇文章主要介绍了C#中实现可变参数实例,本文演示使用params 实现可变数量的参数,并且这些参数的类型可以不同,需要的朋友可以参考下

C语言的printf函数,参数的数量可以是可变的。使用 va_start 和 va_end  实现。

C++中,实现参数可变,可以用 overload。如果参数数量不是很多的话,可以一个参数实现一个函数,两个参数再实现一个函数,三个参数再实现一个函数...

或者使用C的方案。

C#中,也可以用 overload。或者 params 关键字。

下述代码除了演示 params 实现变数量的参数,还演示了 这些参数的类型不必相同。

下述代码的输出是:

复制代码 代码如下:

1
2
one
two
aa

one
two
aa
1
2

代码如下:

复制代码 代码如下:

namespace @params
{
    class Program
    {
        public string value = "aa";

        static void Main(string[] args)
        {
            Program p = new Program();
           
            foo(1, 2, "one", "two", p);
            Console.WriteLine();
            foo("one", "two", p, 1, 2 );
        }


        public static void foo(params object[] list)
        {
            foreach(object o in list)
            {
                if (o.GetType() == typeof(int))
                {
                    Console.WriteLine(o);
                }
                else if (o.GetType() == typeof(string))
                {
                    Console.WriteLine(o);
                }
                else if (o.GetType() == typeof(Program))
                {
                    Console.WriteLine(((Program)o).value);
                }
            }
        }
    }
}

相关文章

  • C#的Process类调用第三方插件实现PDF文件转SWF文件

    C#的Process类调用第三方插件实现PDF文件转SWF文件

    本篇文章主要介绍了C#的Process类调用第三方插件实现PDF文件转SWF文件,现在分享给大家,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11
  • C#调用AForge实现摄像头录像的示例代码

    C#调用AForge实现摄像头录像的示例代码

    这篇文章主要介绍了C#调用AForge实现摄像头录像的示例代码,非常具有实用价值,需要的朋友可以参考下
    2017-09-09
  • c# 实现打印机状态查询与阻塞打印

    c# 实现打印机状态查询与阻塞打印

    这篇文章主要介绍了c# 引用System.Management来实现对打印机状态的查询,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-05-05
  • C#实现SMTP邮件附件发送功能详解

    C#实现SMTP邮件附件发送功能详解

    这篇文章主要为大家详细介绍了如何利用C#实现SMTP邮件附件发送的功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • C#、ASP.NET通用扩展工具类之LogicSugar

    C#、ASP.NET通用扩展工具类之LogicSugar

    这篇文章主要介绍了C#、ASP.NET通用扩展工具类之LogicSugar,本文直接给出实现代码和使用方法示例,需要的朋友可以参考下
    2015-06-06
  • Unity实现老虎机滚动抽奖效果的示例代码

    Unity实现老虎机滚动抽奖效果的示例代码

    这篇文章主要介绍了Unity实现老虎机滚动抽奖效果的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • C#操作读取、写入XML文档的实用方法

    C#操作读取、写入XML文档的实用方法

    这篇文章主要介绍了C#操作读取、写入XML文档的实用方法,即即用.NET本身提供的Deserialize和Serialize进行反序列化和序列化XML文档,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • C#实现文件操作(复制,移动,删除)的方法详解

    C#实现文件操作(复制,移动,删除)的方法详解

    File类提供了常见的文件操作函数,包括复制、移动、删除、创建快捷方式等,本文将通过一些简单的示例为大家详细讲讲具体的使用,希望对大家有所帮助
    2023-05-05
  • C#实现两个richtextbox控件滚动条同步滚动的简单方法

    C#实现两个richtextbox控件滚动条同步滚动的简单方法

    这篇文章主要给大家介绍了C#实现两个richtextbox控件滚动条同步滚动的简单方法,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • C#中委托的+=和-=深入研究

    C#中委托的+=和-=深入研究

    这篇文章主要介绍了C#中委托的+=和-=深入研究,本文深入研究+=和-=在执行时都做了哪些事情,加深对C#委托的理解和使用,需要的朋友可以参考下
    2015-01-01

最新评论