2017-01-31 2 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를 [ "값 1", DataReader를 [ "값 2"])'를 사용할 수 있습니까? – Developer

답변

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"])) 
관련 문제