2017-01-31 3 views
0

я создал следующее:Как создать новый список кортежей на лету

public class Members 
    { 
     public string Member { get; set; } 
     public string Number{ get; set; } 
     public Members(string _member, string _num) 
     { 
      Member= _member; 
      Number = _num; 
     } 
    } 

и назвав его из другого класса:

  int countRows = 0; 
      SqlDataReader dataReader = cmd.ExecuteReader(); 
      while (dataReader.Read()) 
      { 
       countRows += 1; 
       Members sample1 = new Members ("170128", "REG"); 
       Members sample2 = new Members ("170129", "REG"); 
       Members sample3 = new Members ("170130", "TAQ"); 
       List<Members> listOfMembers = new List<Members>(); 
       listOfMembers.Add(sample1); 
       listOfMembers.Add(sample2); 
       listOfMembers.Add(sample3); 
       foreach (var item in listOfMembers) 
       { 
       Response.Write("Member: " + item.Member + " Number: " + item.Number +"<br />");    
       } 
      } 
      dataReader.Close(); 
      dataReader.Dispose(); 
      con.Close(); 

Он работает. Кроме того, я хочу создать и добавить образец «на лету», например:

Members sample + countRows = new Members(datareader["value1"], datareader["value2"]) 

Это не работает. Int countRows и образец объекта несовместимы. Как реализовать что-то подобное, так что sample1, sample2 и т. Д. Создаются «на лету» и аналогично добавляются в список?

+0

Эйнт 'listOfMembers.Add (новые пользователи (DataReader [ "value1"], DataReader [ "значение2"])' работа – Developer

+0

Связанные сообщения -? [Как легко инициализировать список [Tuples?] (Https://stackoverflow.com/q/8002455/465053) & [Как создать список значений?] (Https://stackoverflow.com/q/44250462/465053) – RBT

ответ

1

Использование коллекции или массива для хранения ваших классов

List<Members> sample = new List<Members>(); 

И в цикле сделать

sample.Add(new Members(dataReader.GetInt(0), dataReader.GetInt(1))) 

Примечание: GetInt() это мое предположение. Используйте GetString() или любые ваши типы.
Или в собственные форматы

sample.Add(new Members(dataReader["columnName"], dataReader["columnName"])) 

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

  • Нет связанных вопросов^_^