找回密码
 FreeOZ用户注册
查看: 4372|回复: 2
打印 上一主题 下一主题

C# 如何设置函数可选参数 params

[复制链接]
跳转到指定楼层
1#
发表于 21-12-2008 20:25:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除, 无法发言

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
本例中 myFunction 的第一个必填的参数采用了重载,其余的可选参数采用了params实现。
除了第一个参数是必须的,其余的参数是可选的,输入多少个都可以,不输入也可以。

可选参数的关键字是 params
  1. public static void RunSnippet()
  2. {
  3. Console.Write(myFunction(“aaa”, 1, 2, 3, 4));

  4. }
  5. public static string myFunction(string argu0, params object[] o)
  6. {
  7. myTest(argu0);
  8. int total = 0;
  9. foreach (object i in o)
  10. {
  11. if(i != null)
  12. total+=1;
  13. }
  14. return total.ToString();

  15. }
  16. public static string myTest(string argu00)
  17. {
  18. return ”do nothing“;
  19. }
复制代码
回复  

使用道具 举报

2#
发表于 22-12-2008 13:21:56 | 只看该作者
我喜欢这样写,能提高点效率。
public void LogTrace(string msg)
        {
            if (logLevel <= LOG_LEVEL.TRACE)
            {
                Log("TRACE", msg);
            }
        }

        public void LogTrace(string format, Object[] args)
        {
            if (logLevel <= LOG_LEVEL.TRACE)
            {
                Log("TRACE", String.Format(format, args));
            }
        }

        public void LogTrace(string format, Object arg0)
        {
            if (logLevel <= LOG_LEVEL.TRACE)
            {
                Log("TRACE", String.Format(format, arg0));
            }
        }

        public void LogTrace(string format, Object arg0, Object arg1)
        {
            if (logLevel <= LOG_LEVEL.TRACE)
            {
                Log("TRACE", String.Format(format, arg0, arg1));
            }
        }

        public void LogTrace(string format, Object arg0, Object arg1, Object arg2)
        {
            if (logLevel <= LOG_LEVEL.TRACE)
            {
                Log("TRACE", String.Format(format, arg0, arg1, arg2));
            }
        }
回复  

使用道具 举报

3#
发表于 22-12-2008 13:33:31 | 只看该作者

回复 #1 xblues 的帖子

TX你准备转行了?
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+11, 2-11-2024 22:31 , Processed in 0.029995 second(s), 19 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表