using System.Collections;
using System.Collections.Generic;
public static void Main()
var text = string.Format("key1:value1{0}key2:value2{0}{0}key3:value3:value3a{0}{0}{0}{0}{0}{0}", Environment.NewLine);
var dictionary = text.Split(new []{ Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)
.Select(line => line.Split(':'))
.ToDictionary(lineParts => lineParts[0], lineParts => string.Join(":", lineParts.Skip(1)));
foreach (var item in dictionary)
Console.WriteLine($"{item.Key} - {item.Value}");