假设字符串列表List<string> lst_fruits
包含以下元素:
[1] apple
[2] peach
[3] pine
[4] apple
[5] pear
[6] ...
我正在寻找一种能够完成#3和#4组合任务的现有方法。
我曾考虑将#4的内容复制到#3并在#4处删除,但我想知道是否有更好的解决方案。
答案 0 :(得分:2)
你对这种做法感到满意吗?
lst_fruits =
lst_fruits
.Take(2)
.Concat(new []
{
String.Join("", lst_fruits.Skip(2).Take(2))
})
.Concat(lst_fruits.Skip(4))
.ToList();
答案 1 :(得分:0)
最后,我接受了这个:
public static List<string> combine_list_elements(List<string> lst_original, int i, int j)
{
if (lst_original.Count > i && lst_original.Count > j)
{
lst_original[i] += " " + lst_original[j];
lst_original.RemoveAt(j);
}
else
{
throw new Exception("One of these 2 items does not exist in this list.");
}
return lst_original;
}
这很简单,不确定我为什么要寻找其他。
答案 2 :(得分:0)
lst_fruits[2] = string.Concat(lst_fruits[2], " ", lst_fruits[3]);
lst_fruits.RemoveAt(3);
示例中的列表索引也应该从零开始。 这是处理此问题的最简单方法,即使您似乎正在寻找更复杂的选项:)