Причина, по которой на выходе выводится System.Linq.Enumerable+WhereListIterator1[MultiLoc.client]
, связана с тем, что IEnumerable.ToString
возвращает только тип объекта, а не значения. Кроме того, IEnumerable
представляет коллекцию значений, а не обязательно одно значение, которое я не думаю, что вам нужно.
Чтобы решить эту проблему, предполагая, что класс client
выглядит примерно так:
public class client
{
public int id_client { get; set; }
public string phone_num { get; set; }
...
}
И что у каждого client
есть уникальный id_client
, вы можете изменить:
IEnumerable<client> tel = Enumerable.Where(clients, x => x.id_client.ToString() == cmbIdClient.SelectedValue.ToString());
На:
string tel = clients.FirstOrDefault(x => x.id_client.ToString() == cmbIdClient.SelectedValue.ToString())?.phone_num ?? "<Whatever default value for no client>";