Создание Списка <последовательность>, содержащая единственную последовательность N времена

Is there any way to construct a list of type List which contains a single string N times without using a loop? Something similar to String(char c, int count) but instead for List of strings.

List list = new List() { "str", "str", "str", ..... N times };
8
nl ja de
если можно создать множество, то можно создать список последовательности от множества. stackoverflow.com/questions/157944/…
добавлено автор darkapple, источник
@rene, почему использование петля, когда Enumerrable. Повторение создается определенно для такой ситуации?
добавлено автор Rune FS, источник
@rene there' s окончательно собирающийся быть отделением или два там, но он сказал "петлю" и не "петли или условия", если он волновался об отделениях тогда если?: выключатель, goto, продолжается, разрыв, и возможно fwe другой должен был быть запрещен также
добавлено автор Rune FS, источник
Что не так используя петлю?
добавлено автор Soner Gönül, источник
делая что-то repitive, не используя петлю похож на манипулирование, не используя ваши руки. Почему can' t вы используют конструкцию петли?
добавлено автор rene, источник
@RuneFS Isn' t, что конструкция высокого уровня по петле? В моем рассуждении я предполагаю, что OP хотят исключить msil, содержащий оператор ветвления. Но возможно который является просто пуристом во мне...:)
добавлено автор rene, источник
это интересно, но можно также дать некоторый контекст на том, почему вам нужно это и как вы планируете использовать его? Просто то, что мы можем предложить вас хорошее решение вашей проблемы, не будучи созданным вашим предложенным подходом:)
добавлено автор Davide Piras, источник
Вы не можете вставить без петли, можно вставить в нее другой с InsertRange.
добавлено автор Reno, источник

2 ответы

Можно использовать Повторение() :

List l = Enumerable.Repeat("foo", 100).ToList();

Это будет все еще использовать петлю, конечно, но теперь вы не "видите" его.

25
добавлено
уже там в CLR. Но менее используемый метод. короткий и сладкий, чтобы повториться:)
добавлено автор Ravi Gadag, источник
Повторите doesn' t должен быть осуществлен с петлей. Это могло быть рекурсивно, использовать блок счетчика, переписывают (который переписан к конечному автомату), используйте этикетки и goto' s и т.д.
добавлено автор Rune FS, источник
@igrimpe обычно that' s calle diteration и it' s бесконечная рекурсия. Мне, если that' s определение петли вы могли также сказать, что, кодируя в C# вы на самом деле кодируете в машинном коде, потому что конечный результат - машинный код. Так выяснение, как можно повторить что-то с повторением (определение петли) doesn' t действительно имеют смысл, делает это? В данном контексте I' d соглашаются с вашим определением. Здесь, однако, я верю петлю является стенографией конструкции петли ( для , foreach , делают , в то время как ), потому что тогда there' s все еще смысл в вопросе
добавлено автор Rune FS, источник
Ничего себе, любите его...
добавлено автор Soner Gönül, источник
Точная причина, почему я люблю ТАК! Так учиться.
добавлено автор scartag, источник
удивительный, не знал это!:)
добавлено автор Davide Piras, источник
@RuneFS: можно ли дать мне действительное определение "петли"? Если бы вы работаете с goto/label, у вас все еще есть "петля", которую я сказал бы. Я don' t знают если it' s правильный, но я определил бы "петлю" (в программировании), поскольку образец раньше повторение (выполнение) часть кода. И если вы делаете что-то не так с рекурсией, вы обычно получаете бесконечную "петлю", don' t вы?
добавлено автор igrimpe, источник
@RuneFS: Мы могли обсудить это бесконечное (который ТАК неприязнь), но вы правы в одной вещи: вопрос (Как может, я образовываю петли без перекручивания), doesn' t имеют смысл. Я понимаю вопрос больше как, "как я могу заставить его выглядеть ХОРОШИМ?". И LINQ (по моему скромному мнению), выглядит хорошим;)
добавлено автор igrimpe, источник

Попытайтесь делать это:

List list = new List();
for(int i=0; i
0
добавлено
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot