0
Если у меня есть счетчик, укажите пункт = 5. Я хочу создать 5 строковых построителей objs. Как это может быть сделано?Создание нескольких струнных строителей WTR для подсчета
string[] features = UserBL.GetFeaturesByRole(Session["Role"].ToString().Trim()).TrimEnd(',').Split(',');
В функциях у меня будут функции. Поэтому, согласно счету, мне нужно создать объекты stringbuilder objs.
в вашем случае:. 'Features.Select (пункт => новый StringBuilder (пункт)) ToList();' получит для Вас Коллекция StringBuilders для каждой функции, содержащая сам текст функции. используйте по умолчанию .ctor() для создания пустых StringBuilders. ToList() необходим, если вы хотите получить доступ к коллекции несколько раз, потому что без нее вы всегда будете повторять и, следовательно, воссоздавать новые StringBuilders. – eFloh
@eFloh у него есть «ToArray», который разрешает «Enumerable» так же эффективно, как и «ToList», плюс добавленное преимущество превращения «строителей» в неизменное. Тем не менее, +1 за то, что он может обойти бизнес Enumerable.Range и перечислить его строковый массив 'features', инициализируя каждую строку' StringBuilder' в строке. –
@JohnCastleman приятное и полезное расширение о ToArray/ToList. Но массив является неизменным относительно размера, а не содержимого. В этом случае в качестве локальной переменной это не должно быть проблемой. Когда строители подвергаются воздействию, например, как свойство, я бы настоятельно рекомендовал «IReadOnlyCollection», если нужно защитить от этой «атаки массива»;) – eFloh