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

标签 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];

最佳答案

你可以使用正则表达式

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

}

你也可以用 LINQ 做点什么

    var cssConfigDict = cssConfig.Split(',')
                        .Select(x => x.Split(':'))
                        .ToDictionary(x => x.FirstOrDefault(), y => y.LastOrDefault());

LINQ 可能有更好的方法!

关于c# - 打破这个字符串的更有效/更整洁的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5989105/

相关文章:

c# - 使用 MVC5 应用程序将数据库从本地 SQL 切换到 AZURE DB

c# - 是否可以通过反射设置静态类的这个静态私有(private)成员?

c# - JSON 将自定义 C# 结构序列化为字符串,而不是对象

c - read() 从文件中返回额外的字符

java - 我想阅读此表格内的内容

python - 如何解读字符串反转的三种python实现的性能

c# - 如何分隔文本文件每一行中的字符串并将它们与用户输入进行比较

python - python问题中字符串的翻译器

MySQL 性能 : Single table or multiple tables

c++ - 函数调用的成本是多少?