/// <summary> /// /// </summary> /// <param name="source"></param> /// <param name="ts"></param> /// <returns></returns> public Sum RetrieveIndexOfTopSum(IEnumerable<int> source, IEnumerable<Sum> sums) { List<int> localCopy = source.ToList<int>(); Sum sum = new Sum(int.MinValue, int.MinValue); sums = from c in localCopy from p in source where c != p select new Sum(c, p); sum = sums.OrderByDescending(t => t.Add()).First(); return sum; }
/// <summary> /// This is a method that does an exercise using a loop /// </summary> /// <param name="source"></param> /// <param name="mynumber"></param> /// <returns></returns> public void RetrieveIndexOfTopSum(IEnumerable<int> source, out Sum sum) { int keepTrack = int.MinValue; List<int> localCopy = source.ToList<int>(); sum = new Sum(int.MinValue, int.MinValue); foreach (int i in source) { int currentSum = int.MinValue; foreach (int p in localCopy) { if (i != p) { currentSum = i + p; if (currentSum > keepTrack) { sum = new Sum(p, i); keepTrack = currentSum; } } } } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnTwo_Click(object sender, EventArgs e) { try { BaseClass bc = new BaseClass(); List<string> splitArray = new List<string>(); if (bc.CheckNumbers(textBox1.Text, out splitArray) == false) { lblErrorOutput.Text = bc.ErrorString; return; } List<int> mylist = splitArray.Select(n => int.Parse(n)).ToList(); Sum sum = new Sum(int.MinValue, int.MinValue); bc.RetrieveIndexOfTopSum(mylist, out sum); lblMethodTwoTime.Text = bc.RunTime(); lblMethodTwoAnswer.Text = sum.minValue.ToString(); } catch (ApplicationError err) { lblErrorOutput.Text = err.Message; } }