Как распечатать X количество имен из списка без использования foreach l oop? - PullRequest
0 голосов
/ 08 июля 2020

Если у вас есть список из 50 имен, и вам нужно напечатать имена 0-7, как бы вы это сделали без использования foreach? Я попробовал

Console.WriteLine($"The people on the list are {names[0-7]}");

, но это не сработало

Ответы [ 2 ]

1 голос
/ 08 июля 2020

Для начала, поскольку вы превращаете коллекцию в строку, вам необходимо объединить элементы из этой коллекции. Таким образом, вы можете начать с чего-то вроде этого, чтобы отобразить их все:

Console.WriteLine($"The people on the list are {string.Join(", ", names)}");

(выделение синтаксиса на этой странице предполагает, что это синтаксическая ошибка, но это должно работать на фактическом C#. Подсветка синтаксиса здесь, вероятно, просто пока не поддерживает заполнители $"" для C#.)

Учитывая это, все, что вам нужно оттуда, - это отфильтровать коллекцию. Если вы using System.Linq в своем коде, вы можете использовать метод Take() , чтобы получить заданное количество элементов из списка:

Console.WriteLine($"The people on the list are {string.Join(", ", names.Take(7))}");
0 голосов
/ 08 июля 2020

Я бы лично использовал ответ Дэвида Take(), но вот другой способ, используя List.CopyTo () :

List<string> names = new List<string>();
Enumerable.Range(0, 50).ToList().ForEach(x => names.Add(x.ToString()));

string[] firstEightNames = new string[8];
names.CopyTo(0, firstEightNames, 0, firstEightNames.Length);
Console.WriteLine($"The people on the list are {string.Join(", ", firstEightNames)}");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...