Код, который я написал, отлично работает, этот запрос предназначен исключительно для образовательных целей. Я хочу знать, как другие будут делать это лучше, чище. Я особенно ненавижу то, как я добавляю элементы списка в другой список, прежде чем они будут объединены .......... должен быть более эффективный способ.Как присоединиться к строкам из списка <string>, а также их форматировать?
Я понимаю, что простой способ сделать это простым было бы хранить «OU =» и «DC =» в базе данных с их ассоциированным текстом ..... но это просто неприлично для меня.
Я создаю строку для аргумента контейнера класса PrincipalContext для вызова LDAP.
"ЛСТ" Список < строка > содержит DataRows Единиц LDAP организации, такие как "Счета", "Пользователи" и т.д.
// Get ou list
List<string> lst = db.sda(sql).Rows.OfType<DataRow>().Select(dr => dr.Field<string>("txt")).ToList()
string OU = string.Empty;
List<string> lst = new List<string>();
foreach (string ou in Web.Info.Ldap.ouList)
{
lst.Add("OU=" + ou); // 6th revision .... this works, but wasn't as good as I thought it should be
lst.Add(string.Format("OU={0}", ou)); // 7th revision .... this works as well, but I thought it could be done better, which is why I am here.
}
OU = string.Join(",", lst); // born of 6th revision, used in 7th also
Результат: «OU = Users, OU = Accounts, OU = Сотрудники»
я сделать то же самое в списке под названием dcList, который производит такую же строку
DC = string.Join(",", lst);
Результат: "DC = имя_терминала, DC = другое_значение, DC = com";
, к которому я присоединяюсь вместе с OU, чтобы получить полную строку, например, так
string container = string.Join(",", OU, DC);
Конечный результат: «OU = Users, OU = Accounts, OU = Служащие, DC = север, DC = othervalue, DC = com "
Спасибо за ваше время и знания.
Если ваш код работает и вы ищете улучшения, рассмотрите возможность публикации на http://codereview.stackexchange.com/ вместо Stack Overflow. –
Спасибо, не знал, что было такое. – user3071434