FreeOZ论坛

标题: C# 如何设置函数可选参数 params [打印本页]

作者: xblues    时间: 21-12-2008 20:25
提示: 作者被禁止或删除, 无法发言 标题: C# 如何设置函数可选参数 params
本例中 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. }
复制代码

作者: procoder    时间: 22-12-2008 13:21
我喜欢这样写,能提高点效率。
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));
            }
        }
作者: ritz    时间: 22-12-2008 13:33
标题: 回复 #1 xblues 的帖子
TX你准备转行了?




欢迎光临 FreeOZ论坛 (https://hioz.im/ibbs/) Powered by Discuz! X3.2