Для выполнения поиска по конкретному значению в C# можно использовать методы Linq, такие как Where или FirstOrDefault, а также метод FindAll для списков.
Чтобы выбрать пользователей с определенными идентификаторами из массива и записать их в новый список, можно воспользоваться следующим примером:
```csharp
// Создаем массив пользователей
User[] users = new User[]
{
new User { Id = 1, Name = "John" },
new User { Id = 2, Name = "Alice" },
new User { Id = 3, Name = "Bob" },
};
// Создаем список для выбранных пользователей
List<User> selectedUsers = new List<User>();
// Идентификаторы пользователей, которых мы хотим выбрать
int[] selectedIds = new int[] { 1, 3 };
// Выбираем пользователей с определенными идентификаторами и записываем их в список
selectedUsers = users.Where(u => selectedIds.Contains(u.Id)).ToList();
// Выводим информацию о выбранных пользователях
foreach (User user in selectedUsers)
{
Console.WriteLine(user.Name);
}
```
Результат выполнения программы будет:
```
John
Bob
```
В данном случае используется метод Where для выбора пользователей по условию, что их идентификатор содержится в массиве selectedIds. Метод ToList преобразует результат выборки в список.
Также можно использовать метод FindAll для списков, который принимает предикат для фильтрации элементов и возвращает новый список, содержащий все элементы, удовлетворяющие условию.
```csharp
List<User> selectedUsers = users.FindAll(u => selectedIds.Contains(u.Id));
```