群里有个小伙伴问了一个问题:
如下代码,C#如何用lambda把a字符串变成b?
{
string a="abcdefghijklmn";
string b="ab-cd-ef-gh-ij-kl-mn";
}
这里记录一下三种写法:
1、
{
string b = ""; int i = 0;
a.ToList().ForEach(p =>
{
i++;
b += (b.Length > 0 ? (i % 2 == 1 ? "-" : "") : "") + p.ToString();
});
}
2、
{
string a = "abcdefghijklmn";
string b=string.Join("-",Enumerable.Range(0, a.Length).Where(p => p % 2 == 0).Select(p => a.Substring(p, 2)));
}
3、
{
string a = "abcdefghijklmn";
string b=a.Aggregate("", (s, x) => s + (s.Length % 3 == 2 ? ("-" + x) : x.ToString()));
}
2018.09.13
网友评论