matt2605
matt2605

Reputation: 216

How to create a new list of tuples on the fly

I have created the following:

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

and calling it from another class:

            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();

It works. Except, I want to create and add sample on the fly, eg:

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

This does not work. The int countRows and the object sample are not compatible. How do I implement something similar so that sample1, sample2, etc., is created on the fly and similarly added to the list?

Upvotes: 0

Views: 1163

Answers (1)

Sergio
Sergio

Reputation: 346

Use Collection or Array to hold your classes

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

And in cycle do

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

Note: GetInt() is my guess. Use GetString() or whatever your types.
Or in native formats

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

Upvotes: 2

Related Questions