如何将列表数据传递给其他方法

时间:2016-06-15 07:31:14

标签: c#

我有返回list的方法,我希望将该列表从GetAndPost方法传递给Test方法。我不知道该怎么做!

代码:

    public List<string> GetAndPost()
    {
        Connection();
        con.Open();

        com = new SqlCommand("SELECT Statement ", con);
        SqlDataReader reader = com.ExecuteReader();
        List<string> list = new List<string>();
        int i = 0;
        while (reader.Read())
        {

            TXNID = reader.GetValue(0).ToString();
            docType = reader.GetValue(1).ToString();
            docNo = reader.GetValue(2).ToString();
            ctryIssue = reader.GetValue(3).ToString();
            name = reader.GetValue(4).ToString();
            expDate = reader.GetValue(5).ToString();
            citizen = reader.GetValue(6).ToString();
            dob = reader.GetValue(7).ToString();

            gender = reader.GetValue(8).ToString();
            mbikeNo = reader.GetValue(9).ToString();
            mbikeExpDate = reader.GetValue(10).ToString();
            branch = reader.GetValue(14).ToString();
            status = reader.GetValue(12).ToString();
            if (status == "False")
            {


            }

        }
        reader.Close();

        Console.WriteLine(list);
        return list;

    }

    public List<string> Test()
    {

    }

6 个答案:

答案 0 :(得分:0)

您可以像这样传递

Test(list);

这就是测试方法应该是什么样子

public void Test(List<string> list)
{

}

答案 1 :(得分:0)

Test(list);

然后通过将列表传递给它来调用您的Test方法,例如;

String

答案 2 :(得分:0)

假设我将声明一个包含GetAndPost函数输出的变量。

var getAndPostList = GetAndPost();

...
// Pass value to another function
Test(getAndPostList);

对于你的Test函数,它应该有一个字符串列表

public List<string> Test(List<string> getAndPostList)
{
    ...
}

答案 3 :(得分:0)

您可以作为列表传递

public void somefunction(List<YourType> dates)
{
}

但是,最好使用最通用的(如一般的,基本的)接口,所以我会使用

public void somefunction(IEnumerable<YourType> dates)
{
}

public void somefunction(ICollection<YourType> dates)
{
}

答案 4 :(得分:0)

您的Test()函数应该如此(如果Test()不必返回值):

public void Test(List<string> stringList)
{

}

GetAndPost()功能上:

return list;

然后拨打Test()功能:

test(GetAndPost());

如果您想在Test()函数中调用GetAndPost()函数,请将return替换为:

test(list);

并将GetAndPost()的声明更改为:

public void GetAndPost()
{
//YOUR CODE
}

答案 5 :(得分:0)

如果要传递此列表,则Test方法应该有一个list参数。

public List<string> Test(List<string> list)

然后从GetAndPost方法的任何位置调用此方法。

Test(list);

即使您希望更改列表的内容,也不必从Test方法返回列表。 List是类类型并作为引用传递。您可以使用Test方法编辑相同的列表,并从GetAndPost方法访问修改。