using System.Collections.Generic;
public static void Main()
string sourceString = "[[14,12,11,15],[4,3,6,6],[10,13,1,9],[12,4,11,15],[3,10,8,5]]";
List<Score> resultScores = StringToScoreList(sourceString);
Console.WriteLine("Result: " + ScoreListToString(resultScores));
Console.WriteLine("Source: " + sourceString);
public static List<Score> StringToScoreList(string scoresString) {
List<Score> resultScores = new List<Score>();
if (!string.IsNullOrWhiteSpace(scoresString)) {
string tmpString = scoresString.Replace("],[", ";");
tmpString = tmpString.Replace("[[", "").Replace("]]", "");
string[] scoreStrings = tmpString.Split(";");
foreach (string scoreString in scoreStrings) {
string[] entryStrings = scoreString.Split(",");
Score score = new Score(entryStrings);
public static string ScoreListToString(List<Score> scores) {
return "[" + string.Join(",", scores) + "]";
public Score(int k1, int k2, int k3, int k4) {
public Score(string k1, string k2, string k3, string k4) : this(Convert.ToInt32(k1), Convert.ToInt32(k2), Convert.ToInt32(k3), Convert.ToInt32(k4)) {}
public Score(string[] entries) : this(entries[0], entries[1], entries[2], entries[3]) {}
public override string ToString() {
return "[" + string.Join(',', new[] {k1, k2, k3, k4}) + "]";