调用方法时创建列表

时间:2013-02-08 16:56:22

标签: c#

我有一个带有以下签名的方法:

public void SomeMethod(int SomeInt, List<long> SomeListOfLongs)

有一次,我正在调用这个方法,代码看起来有点像这样:

int TheInt = 2;
long TheLong1 = 3;
long TheLong2 = 4;

我想创建long列表并一步调用该方法。我试过这个:

SomeMethod(TheInt, new List<long>(TheLong1, TheLong2));

有没有办法避免直接在调用中创建新列表?

感谢。

3 个答案:

答案 0 :(得分:1)

没有。您将要创建新列表。这不应该导致任何问题。

如果您可以控制该方法,则可以将签名更改为:

public void SomeMethod(int someInt, params long[] someArrayOfLongs)

然后,您可以使用以下代码调用该方法:

SomeMethod(TheInt, TheLong1, TheLong2);

答案 1 :(得分:0)

实际上,我只是在修改代码,并发现它是可能的:

SomeMethod(TheInt, new List<long>() { TheLong1, TheLong2 });

答案 2 :(得分:0)

    private void Form1_Load(object sender, EventArgs e)
    {
        call(1, new List<long> { 1, 2, 3, 4 });
    }
    void call(Int32 i,List<long> l)
    {
        MessageBox.Show((l[0] + l[1] + l[2] + l[3]).ToString());
    }



       i tried this and working properly so use this code too pass the List object.....