using System.Collections;
using System.Collections.Generic;
public string Item1 {get; set;}
public string Item2 {get; set;}
public bool Condition {get; set;}
public static void Main()
var itemCollection = new List<Item> {
new Item { Item1 = "Value 1-1", Item2 = "Value 1-2", Condition = true },
new Item { Item1 = "Value 2-1", Item2 = "Value 2-2", Condition = false },
new Item { Item1 = "Value 3-1", Item2 = "Value 3-2", Condition = true }
System.Text.StringBuilder str = new System.Text.StringBuilder();
foreach (var item in itemCollection)
if (item.Condition == true)
str.Append(String.Format("Item 1 = {0} : Item 2 = {1},", item.Item1, item.Item2));
var outputOld = str.Remove(str.Length - 1, 1).ToString();
var outputLinq = itemCollection
.Where(item => item.Condition == true)
.Select(s => String.Format("Item 1 = {0} : Item 2 = {1}", s.Item1, s.Item2))
.Aggregate( (a,b) => a + "," + b )
Console.WriteLine(outputOld);
Console.WriteLine(outputLinq);