using System.Collections.Generic;
public static void Main()
DataTable table1 = new DataTable();
table1.Columns.Add("ID", typeof(int));
table1.Columns.Add("Weight", typeof(int));
table1.Columns.Add("Name", typeof(string));
table1.Columns.Add("Breed", typeof(string));
table1.Rows.Add(23, 57, "Koko", string.Empty);
table1.Rows.Add(44,130, "Fido", null);
table1.Rows.Add(54,130, "Jack", null);
table1.Rows.Add(44,130, "Thad", null);
table1.Rows.Add(64,130, "John", null);
table1.Rows.Add(23,130, "Brian", null);
table1.Rows.Add(445,130, "James", null);
table1.Rows.Add(64,134, "Adam", null);
foreach(DataRow row in table1.Rows)
Console.WriteLine("ID="+ row[0] + " Name=" + row[2]);
for(int i = 0; i < table1.Rows.Count; i++)
Console.WriteLine("ID="+table1.Rows[i][0] + " Name=" + table1.Rows[i][2]);
Dictionary<int, string> dict = new Dictionary<int, string>();
for (int i = 0; i < table1.Rows.Count; i++)
int ID = Convert.ToInt32(table1.Rows[i][0]);
if (dict.ContainsKey(ID))
dict[ID] += ", " + table1.Rows[i][2].ToString();
dict.Add(ID, table1.Rows[i][2].ToString());
foreach(var item in dict)
Console.WriteLine("ID=" + item.Key + " Name=" + item.Value);