If i understand you well, you want to get in between value from the string-list of numbers. Check this:
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ABC", typeof(string)));
dt.Rows.Add(new object[]{"205,198,215"});
dt.Rows.Add(new object[]{"105,198,315"});
dt.Rows.Add(new object[]{"405,298,215"});
dt.Rows.Add(new object[]{"305,398,315"});
dt.Rows.Add(new object[]{"305,298,415"});
var result = dt.AsEnumerable()
.Select(x => new
{
Text = x.Field<string>("ABC"),
Numbers = x.Field<string>("ABC")
.Split(new string[]{","}, StringSplitOptions.RemoveEmptyEntries)
.Select(y => Convert.ToInt32(y))
.ToList()
})
.Select(x => new
{
Text = x.Text,
MinVal = x.Numbers.Min(),
MaxVal = x.Numbers.Max(),
InBetweenVal = x.Numbers.First(y => y>x.Numbers.Min() && y<x.Numbers.Max())
})
.ToList();
Console.WriteLine("Text\tMinVal\tMaxVal\tInBetweenVal");
foreach(var r in result)
{
Console.WriteLine("{0}\t{1}\t{2}\t{3}", r.Text, r.MinVal, r.MaxVal, r.InBetweenVal);
}
Result:
Text MinVal MaxVal InBetweenVal
205,198,215 198 215 205
105,198,315 105 315 198
405,298,215 215 405 298
305,398,315 305 398 315
305,298,415 298 415 305