2016-06-15 8 views
0

У меня есть метод, который возвращает 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() 
    { 

    } 
+4

Ваш список всегда пуст, вы просто объявляете его и ничего не добавляете в него. Надеюсь, что это ради объяснения ... – 3615

ответ

0

Вы можете передать его как этот

Test(list); 

И это как тестовый метод должен выглядеть

public void Test(List<string> list) 
{ 

} 
0
public List<string> Test(List<string> stringList) 
{ 

} 

Тогда просто позвоните в Test метод, передавая вам свой список, например;

Test(list); 
0

Предполагая, что я объявить переменную, которая будет содержать вывод GetAndPost функции.

var getAndPostList = GetAndPost(); 

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

И для Test функции, то следует ожидать, список строк

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

Вы можете передать в список

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

Однако лучше использовать наиболее общий (как обычно, базовый) интерфейс, поэтому я бы использовал

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

или

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

Ваша Test() функция должна быть как и (в случае, Test() не должен возвращать значение):

public void Test(List<string> stringList) 
{ 

} 

На вашей GetAndPost() функции:

return list; 

Затем позвоните в свою Test():

test(GetAndPost()); 

Если вы хотите, чтобы вызвать функцию Test() Withinn вашей GetAndPost() функции заменить вашу return с:

test(list); 

И измените объявление GetAndPost() на:

public void GetAndPost() 
{ 
//YOUR CODE 
} 
0

Ваш метод Test следует ожидать аргумент списка, если вы хотите передать этот список.

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

, а затем вызвать этот метод из любой точки в методе GetAndPost.

Test(list); 

Вы не должны возвращать список из Test метода, даже если вы ожидаете, чтобы изменить содержимое списка. List - тип класса и передается как ссылка. Вы можете отредактировать тот же список в методе Test и получить доступ к модификациям от GetAndPost.

Смежные вопросы