列表替换元素的一部分,我有一个包含一些字符串类似下面的列表:在字符串
List<String> l = new List<String>(){
"item1 1",
"item2 2",
"item3 3",
"item1 4",
"item1 5",
"item3 6"};
我想总结这是相同的项目。例如:
l = {"item1 10", "item2 2", "item3 9"}
我已经试过这样:
List<String> result = new List<String>();
for (int i = 0; i < total.Count; i++)
{
for (int j = 0; j < i; j++)
{
int diferenta = 0;
if (total[i].Substring(0, total[i].IndexOf(" ")).Equals(total[j].Substring(0, total[j].IndexOf(" "))))
{
diferenta = int.Parse(ExtractNumber(total[i].Substring(total[i].IndexOf(" ")))) + int.Parse(ExtractNumber(total[j].Substring(total[j].IndexOf(" "))));
total[i] = total[i].Replace(ExtractNumber(total[i].Substring(total[i].IndexOf(" "))), diferenta.ToString());
result.Add(total[i]);
}
}
而得到不同的元素:
List<String> final = result.Distinct().toList();
我的方法是不正确的,在所有的,所以我要问你帮帮我。