如何以细分格式传递列表

本文关键字:列表 格式 细分 | 更新日期: 2023-09-27 18:24:56

我想知道是否有任何方法可以将分解列表传递给函数。这是我的功能。

public static void setp_R(List<string> stuff_to_add)
{
     Possible_res.Clear ();
     foreach(string a in stuff_to_add)
     {
         Possible_res.Add (a)
     }
}

我想知道是否有办法给它一份详细的清单。而不是这样做。。。

List<string> thingstoadd = new List<string> ();
thingstoadd.Add ("Blah1");
thingstoadd.Add ("Blah2");
thingstoadd.Add ("Blah3");
setp_R (thingstoadd);

我可以这么做。。。

setp_R (("blah1","blah2","blah3"));

我不能只是让函数看起来像这样。。。

public static void setp_R(string a1,string a2,string a3){}

因为函数必须是灵活的,并且需要随着或多或少的字符串的放入而扩展和收缩。

我对这个列表进行了大量编辑,如果Possible_res不是一个函数,那就太可怕了。

如何以细分格式传递列表

params关键字:

public static void setp_R(params string[] stuff_to_add)

会成功的。

如果你不想更改签名,你仍然可以使用初始化器来缩短列表初始化代码:

List<string> thingstoadd = new List<string> { "blah1", "blah2", "blah3" };
setp_R (thingstoadd);

setp_R (new List<string> { "blah1", "blah2", "blah3" });

使用params关键字:

public static void setp_R(params string[] stuff_to_add)
{
}

您可以使用params:https://msdn.microsoft.com/en-us/library/w5zay9db.aspx

public static void setp_R(params string[] stuff_to_add)
{
    Possible_res.Clear();
    foreach(string a in stuff_to_add)
    {
        Possible_res.Add (a)
    }
}

像setp_R("something","somethingother")一样使用;