在ASP.NET C#中,我们可以使用以下代码来重排多级编号:
List
a. 将编号拆分为多个子级,并使用数组存储这些子级。
b. 对于每个子级,我们都需要检查子级前面是否有两个或更多的子级。如果是,则需要更新当前子级的值,以保持子级的顺序正确。
c. 最后,我们需要将重新排序的编号返回到List
public static List
foreach (string number in numberList)
{
string[] subNumbers = number.Split('.');
int level = subNumbers.Length;
if (level == 1)
{
newNumberList.Add(number);
}
else
{
int index = newNumberList.Count - 1;
string lastNumber = newNumberList[index];
string[] lastSubNumbers = lastNumber.Split('.');
if (lastSubNumbers.Length < level - 1)
{
newNumberList.Add(number.Replace(subNumbers[level - 1], "1"));
}
else
{
int lastSubNumber = int.Parse(lastSubNumbers[level - 2]);
if (lastSubNumber < int.Parse(subNumbers[level - 2]))
{
lastSubNumber = int.Parse(subNumbers[level - 2]);
}
string newNumber = "";
for (int i = 0; i < level - 2; i++)
{
newNumber += subNumbers