我有一系列列排序顺序,例如string sortOrders = "foo asc, bar desc, hi desc";
。
我想接受输入列名称,如果它已经在我们的排序顺序字符串中,则切换排序方向。
这很容易string sortOrders = "foo asc, bar desc, hi desc";
string colName = "bar";
Regex.Replace(sortOrders,
colName + " (desc|asc)",
m => colName + " " + (m.Groups[1].Value == "desc" ? "asc" : "desc"));
// result: "foo asc, bar asc, hi desc"
是否有更简单的版本不使用MatchEvaluator
?