Работает ли что-то подобное для вас?
string input = "2442,6266\r\n7727,2727\r\n1234,1234";
string[] numberGroup = input.Replace("\r\n", ":").Split(':');
IDictionary<int,int> numberPairs = new Dictionary<int, int>();
foreach(string str in numberGroup)
{
string[] pair = str.Split(',');
numberPairs.Add(Convert.ToInt32(pair[0]), Convert.ToInt32(pair[1]));
}
foreach(int key in numberPairs.Keys)
{
Console.WriteLine("Number Pair: [{0}]:[{1}]", key, numberPairs[key]);
}
//Output:
//Number Pair: [2442]:[6266]
//Number Pair: [7727]:[2727]
//Number Pair: [1234]:[1234]
EDIT
Если вам не нужны дубликаты, есть такой способ, как указал Пано, но я бы сказал сплиттеру удалить пустые результаты, чтобы он не сработал при одном из вызовов индекса в области конвертации.
string input = "2442,6266\r\n7727,2727\r\n1234,1234";
string[] numberGroup = input.Split(new[]{"\r\n"}, StringSplitOptions.RemoveEmptyEntries);
IList<Tuple<int, int>> numberPairs = new List<Tuple<int, int>>();
foreach(string str in numberGroup)
{
string[] pair = str.Split(',');
numberPairs.Add(Tuple.Create(Convert.ToInt32(pair[0]), Convert.ToInt32(pair[1])));
}
foreach(Tuple<int,int> item in numberPairs)
{
Console.WriteLine("Number Pair: [{0}]:[{1}]",item.Item1, item.Item2);
}