我已经尝试了一些,但是我一直想出非常丑陋的代码,这就是我想要做的。
说我有这个字符串
Orders($expand=OrderDetails($expand=Product))
或
Orders($select=OrderDetails($select=Product))
如何在C#中构建一个可以返回像这样的字符串列表的函数
"Orders","Orders.OrderDetails", "Orders.OrderDetails.Product"
只是不确定如何在不使用一堆子字符串等的情况下执行此操作。有人有什么想法吗?
这里是一个例子:
var str = "Orders($expand=OrderDetails($expand=Product))";
var str2 = str
.Replace("($expand=", ".")
.Replace("($select=", ".")
.Replace(")", "");
var list = new List<string>();
var currentStr = new StringBuilder();
foreach (var item in str2.Split('.'))
{
currentStr.Append(currentStr.Length == 0 ? item : $".{item}");
list.Add(currentStr.ToString());
}