private static string ListToSpeechReadyString()

in sdk/csharp/libraries/microsoft.bot.solutions/Responses/SpeechUtility.cs [90:148]


        private static string ListToSpeechReadyString(string parentString, List<string> selectionStrings, ReadPreference readOrder, int maxSize)
        {
            var result = $"{parentString} " ?? string.Empty;

            List<string> itemDetails = new List<string>();

            int readSize = Math.Min(selectionStrings.Count, maxSize);
            if (readSize == 1)
            {
                itemDetails.Add(selectionStrings[0]);
            }
            else
            {
                for (var i = 0; i < readSize; i++)
                {
                    var readFormat = string.Empty;

                    if (i == 0)
                    {
                        if (readOrder.Equals(ReadPreference.Chronological))
                        {
                            readFormat = CommonStrings.LatestItem;
                        }
                        else
                        {
                            readFormat = CommonStrings.FirstItem;
                        }
                    }
                    else
                    {
                        if (i == readSize - 1)
                        {
                            readFormat = CommonStrings.LastItem;
                        }
                        else
                        {
                            if (i == 1)
                            {
                                readFormat = CommonStrings.SecondItem;
                            }
                            else if (i == 2)
                            {
                                readFormat = CommonStrings.ThirdItem;
                            }
                            else if (i == 3)
                            {
                                readFormat = CommonStrings.FourthItem;
                            }
                        }
                    }

                    var selectionDetail = string.Format(readFormat, selectionStrings[i]);
                    itemDetails.Add(selectionDetail);
                }
            }

            result += itemDetails.ToSpeechString(CommonStrings.And);
            return result;
        }