什么是更有效/更整洁的方法来打破这个字符串?

And*_*rew 6 c# string optimization

我试图将这个字符串分解为2种颜色,并想知道是否有更简洁的方法来实现相同的结果?

// Obtain colour values
string cssConfig = "primary-colour:Red, secondary-colour:Blue";
var parts = cssConfig.Split(',');
var colour1 = parts[0].Split(':')[1];
var colour2 = parts[1].Split(':')[1];
Run Code Online (Sandbox Code Playgroud)

Dve*_*Dve 7

你可以使用正则表达式

string cssConfig = "primary-colour:Red, secondary-colour:Blue";
var reg = new Regex(@"([\w\-]+)\:([\w\-]+)");
foreach (Match match in reg.Matches(cssConfig))
{

}
Run Code Online (Sandbox Code Playgroud)

你也可以用LINQ做点什么

    var cssConfigDict = cssConfig.Split(',')
                        .Select(x => x.Split(':'))
                        .ToDictionary(x => x.FirstOrDefault(), y => y.LastOrDefault());
Run Code Online (Sandbox Code Playgroud)

LINQ可能有更好的方法!