In Today's example we will convert an object collection into another object collection using Linq.
As we have seen earlier, using Linq we can eliminate lot of coding effort and can save time also.
For current example i have created an employee collection which contains all the employee details. But some of the employees are authors also.
Now we have to populate an Author collection by filtering the authors from the employee collection.
//Employee class. For the employees who are author also, the //IsAuthor property contains true value
return (oArrayList);
//Author class
//This display method writes the output to the console window
//looping through the collection
//Program class - which contains the Main method of execution
Happy Coding......
As we have seen earlier, using Linq we can eliminate lot of coding effort and can save time also.
For current example i have created an employee collection which contains all the employee details. But some of the employees are authors also.
Now we have to populate an Author collection by filtering the authors from the employee collection.
//Employee class. For the employees who are author also, the //IsAuthor property contains true value
public class Employee
{
public string
firstName;
public string
lastName;
public bool IsAuthor;
public string
Country;
public static ArrayList GetEmployees()
{
ArrayList oArrayList = new
ArrayList();
//adding employee details to the array
list
oArrayList.Add(new Employee { firstName = "Rahul",
lastName = "Gupta",Country="India", IsAuthor = true });
oArrayList.Add(new Employee { firstName = "William",
lastName = "Johns", Country = "United States", IsAuthor = true});
oArrayList.Add(new Employee { firstName = "Stephen",
lastName = "Smith", Country = "Australia", IsAuthor = true });
return (oArrayList);
}
}
public class Author
{
public string
AuthorName;
public string
Country;
public static void DisplayAuthorDetails(Author[]
objAuthors)
{
foreach (Author c in objAuthors)
Console.WriteLine("Author Name:
{0} Country: {1}", c.AuthorName, c.Country);
Console.ReadLine();
}
}
class Program
{
static void Main(string[] args)
{
ArrayList alEmployees = Employee.GetEmployees();
//Cast-Converts elements of an IEnumerable to specified type
//Using Cast to convert Employee object to Author object
//Where-filters a sequence of values based on predicate
//Where is used to find all the authors from the employees collection
Author[] objAuthors = alEmployees.Cast<Employee>()
.Where(e=>
e.IsAuthor==false)
.Select(e =>
new Author {
AuthorName = string.Format("{0} {1}",
e.firstName, e.lastName), Country = e.Country})
e.firstName, e.lastName), Country = e.Country})
.ToArray<Author>();
Author.DisplayAuthorDetails(objAuthors);
}
}
Comments
Post a Comment