gpt4 book ai didi

c# - 交替顺序的字符串操作

转载 作者:太空狗 更新时间:2023-10-30 00:02:39 24 4
gpt4 key购买 nike

我有一个字符串

string value = "123456789";

现在我需要按以下方式重新排列字符串:

123456789
1 right
12 left
312 right
3124 left
53124 right
...
975312468 result

是否有一个奇特的 linq one liner 解决方案来解决这个问题?

我目前的(工作但不太好看)解决方案:

string items = "abcdefgij";
string result = string.Empty;
for (int i = 0; i < items.Length; i++)
{
if (i % 2 != 0)
{
result = result + items[i];
}
else
{
result = items[i] + result;
}
}

最佳答案

string value = "123456789";
bool b = true;
string result = value.Aggregate(string.Empty, (s, c) =>
{
b = !b;
return b ? (s + c) : (c + s);
});

我实际上不喜欢 LINQ 语句中的局部变量,但在这种情况下 b 有助于改变方向。 (@klappvisor 展示了如何在没有 b 的情况下生活)。

关于c# - 交替顺序的字符串操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37882875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com