Storing data into list with class
Solution 1:
You need to add an instance of the class:
lstemail.Add(new EmailData { FirstName = "John", LastName = "Smith", Location = "Los Angeles"});
I would recommend adding a constructor to your class, however:
public class EmailData
{
public EmailData(string firstName, string lastName, string location)
{
this.FirstName = firstName;
this.LastName = lastName;
this.Location = location;
}
public string FirstName{ set; get; }
public string LastName { set; get; }
public string Location{ set; get; }
}
This would allow you to write the addition to your list using the constructor:
lstemail.Add(new EmailData("John", "Smith", "Los Angeles"));
Solution 2:
If you want to instantiate and add in the same line, you'd have to do something like this:
lstemail.Add(new EmailData { FirstName = "JOhn", LastName = "Smith", Location = "Los Angeles" });
or just instantiate the object prior, and add it directly in:
EmailData data = new EmailData();
data.FirstName = "JOhn";
data.LastName = "Smith";
data.Location = "Los Angeles"
lstemail.Add(data);
Solution 3:
You need to new up an instance of EmailData and then add that:
var data = new EmailData { FirstName = "John", LastName = "Smith", Location = "LA" };
List<EmailData> listemail = new List<EmailData>();
listemail.Add(data);
If you want to able to do:
listemail.Add("JOhn","Smith","Los Angeles");
you can create your own custom list, by specializing System.Collections.Generic.List and implementing your own Add method, more or less like this:
public class EmailList : List<EmailData>
{
public void Add(string firstName, string lastName, string location)
{
var data = new EmailData
{
FirstName = firstName,
LastName = lastName,
Location = location
};
this.Add(data);
}
}
Solution 4:
One way(in one line) to do it is like this:
listemail.Add(new EmailData {FirstName = "John", LastName = "Smith", Location = "Los Angeles"});
Solution 5:
You need to create an instance of the class to add:
lstemail.Add(new EmailData
{
FirstName = "JOhn",
LastName = "Smith",
Location = "Los Angeles"
});
See How to: Initialize Objects by Using an Object Initializer (C# Programming Guide)
Alternatively you could declare a constructor for you EmailData
object and use that to create the instance.