从odata RawValues中提取字符串列表

问题描述 投票:1回答:1

我已经尝试了一些,但是我一直想出非常丑陋的代码,这就是我想要做的。

说我有这个字符串

Orders($expand=OrderDetails($expand=Product))

Orders($select=OrderDetails($select=Product))

如何在C#中构建一个可以返回像这样的字符串列表的函数

"Orders","Orders.OrderDetails", "Orders.OrderDetails.Product" 

只是不确定如何在不使用一堆子字符串等的情况下执行此操作。有人有什么想法吗?

c# string
1个回答
0
投票

这里是一个例子:

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());
}
© www.soinside.com 2019 - 2024. All rights reserved.