コード例 #1
0
        public static IList <ElementInit> FoldElementInitializerList(ReadOnlyCollection <ElementInit> inputExpressionList)
        {
            List <ElementInit> list = null;

            for (int i = 0; i < inputExpressionList.Count; i++)
            {
                ElementInit init = ConstantFolding.FoldElementInitializer(inputExpressionList[i]);
                if (list != null)
                {
                    list.Add(init);
                }
                else if (init != inputExpressionList[i])
                {
                    list = new List <ElementInit>(inputExpressionList.Count);
                    for (int j = 0; j < i; j++)
                    {
                        list.Add(inputExpressionList[j]);
                    }
                    list.Add(init);
                }
            }

            if (list != null)
            {
                return(list);
            }

            return(inputExpressionList);
        }