using System.Collections.Generic;
public static Tuple<int, int> FindTwoSum(IList<int> list, int sum)
var l = list as List<int>;
if (l == null || l.Count < 2)
Dictionary<int, int> dict = new Dictionary<int, int>();
for (int i = 0; i < l.Count; i++)
if(!dict.ContainsKey(l[i]))
for (int i = 0; i < l.Count; i++)
if (dict.ContainsKey(diff))
return new Tuple<int, int>(i, index);
public static void Main(string[] args)
Tuple<int, int> indices = FindTwoSum(new List<int>() { 10, 12, 0, 1,1,3,3, 5, 7, 9 }, 8);
Console.WriteLine("not found");
Console.WriteLine(indices.Item1 + " " + indices.Item2);