为什么使用参数关键字



我正在掌握我的C#技能并阅读C#书籍。我在数组章节中遇到了params关键字。为什么有人会真正使用params关键字而不是将常规数组传递到该方法。我测试了两种使用params关键字的数组的方法。他们俩都很好。是否有使用params关键字的现实世界理由?

这是我的代码:

using System;
namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] classname = new string[5] { "cs150", "cs250", "cs270", "cs300", "cs350" };
            Prints(classname);
            Console.Read();
        }
        public static void Prints(params string[] t)
        {
            foreach (var s in t)
            {
                Console.WriteLine(s);
            }
        }
    }
}

这是没有参数的代码:

using System;
namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] classname = new string[5] { "cs150", "cs250", "cs270", "cs300", "cs350" };
            Prints(classname);
            Console.Read();
        }
        public static void Prints(string[] t)
        {
            foreach (var s in t)
            {
                Console.WriteLine(s);
            }
        }
    }
}

您对Console.WriteLine的哪些电话更清晰?

Console.WriteLine("Hello {0}, you are {1}", person.Name, person.Age);

Console.WriteLine("Hello {0}, you are {1}",
                  new object[] { person.Name, person.Age });

(在上述情况下,您甚至不能使用隐式键入数组(new[]),除非person.Nameperson.Age是类型object ...如果它们都是string类型的,则可以创建字符串数组...)

我更喜欢第一个。阅读更简单。这就是params的全部 - 它只是允许呼叫者使用更多简洁的语法。您仍然可以像在代码中一样以正常方式传递数组参考 - 但您也可以也可以写:

Prints("cs150", "cs250", "cs270", "cs300", "cs350");

...又比声明单独的变量更简单。

带有参数,您可以这样调用您的方法:

Prints("1", "2", "3", "4", "5");

没有参数,您将无法。

此外,您可以在两种情况下以数组为参数调用该方法:

Prints(new string[] { "1", "2", "3", "4", "5" });

也就是说,params允许您在调用方法时使用快捷方式。

带有参数,您可以在不创建数组的情况下调用方法:

Prints("cs150", "cs250", "cs270")

params关键字的目的是

将编码体验简化给消费库的编码人员或 您已经oved了的方法。

如果您通过没有" params"关键字的参数,那么您只能传递阵列中指定的元素(数组size),但使用" params",您无需在数组(数组大小),可以按照您的意愿传递任何数量的参数。

相关内容

  • 没有找到相关文章

最新更新