Eliminate consecutive duplicates of list elements

前端 未结 11 1556
南笙
南笙 2020-12-03 02:31

Is there a \"nice\" way to eliminate consecutive duplicates of list elements?

Example:

[\"red\"; \"red\"; \"blue\"; \"green         


        
11条回答
  •  情话喂你
    2020-12-03 02:54

    You can create simple generic method for this purpose, like below:

    [EDIT 2] (great thanks to Eric Lippert)

        public static List ExcludeConsecutiveDuplicates(List InputList)
        {
            object lastItem = null;
            List result = new List();
    
            for (int i = 0; i < InputList.Count; i++)
            {
                if (i==0 || Object.Equals(InputList[i],lastItem) != true)
                {
                    lastItem = InputList[i];
                    result.Add((T)lastItem);
                }
            }
    
            return result;
        }
    

提交回复
热议问题