交错拆分字符串作为列表 c#
本文关键字:列表 字符串 拆分 | 更新日期: 2023-09-27 18:34:39
目前我需要将字符串交错到一个单独的列表中,但我不知道该怎么做。
我目前使用的代码是这样的(我还没有走得很远(:
public PartialViewResult Interleave(string details, string ids)
{
List<string> detailList = details.Split(',').ToList();
List<string> idlist = ids.Split(',').ToList();
return PartialView("_ConceptDetail1", detailList)
}
是否有交错列表的标准方法?
也许你想把两者压缩在一起,你可以使用Enumerable.Zip
然后:
String[] details = details.Split(',');
String[] ids = ids.Split(',');
List<String> idDetails = ids.Zip(details, (id, detail) => id + " " + detail)
.ToList();
基于Zip
的实现,我想我会制作自己的扩展方法:
static IEnumerable<T> Interleave<T>(this IEnumerable<T> first, IEnumerable<T> second)
{
using (IEnumerator<T> enumerator = first.GetEnumerator())
{
using (IEnumerator<T> enumerator2 = second.GetEnumerator())
{
while (enumerator.MoveNext() && enumerator2.MoveNext())
{
yield return enumerator.Current;
yield return enumerator2.Current;
}
}
}
yield break;
}