Я работаю над SignalRWPF приложение. Im отправка сообщений с Windows Phone. Я хочу найти конкретный элемент в этой коллекции.Поиск определенного элемента в ObservableCollection
мой взгляд модель:
public ViewModel()
{
Messages = new ObservableCollection<string>();
_connection = new HubConnection("http://localhost:49671/");
_dataHub = _connection.CreateHubProxy("dataHub");
}
public ObservableCollection<string> Messages
{
get { return _messages; }
set
{
if (Equals(value, _messages)) return;
_messages = value;
OnPropertyChanged("Messages");
}
}
public async Task Login(string roomName, string userName)
{
_userName = userName;
_roomName = roomName;
await _connection.Start();
await _dataHub.Invoke("JoinRoom", new object[] { _roomName, _userName });
_dataHub.Subscribe("ReceiveMessage").Received += list =>
Dispatcher.CurrentDispatcher.BeginInvoke((Action)(() =>
Messages.Add(list[0].ToString())));
}
коды, которые я пытался не искать
var asd2 = App.MainViewModel.Messages.Where(a => a.Contains("on"));
var on = App.MainViewModel.Messages.IndexOf(App.MainViewModel.Messages.Where(x => x == "on").FirstOrDefault());
List<string> asd = App.MainViewModel.Messages.Where(a => a.Contains("on")).ToList();
var q = App.MainViewModel.Messages.IndexOf(App.MainViewModel.Messages.Contains("on").ToString());
ничего работал на данный момент. Пожалуйста помоги .
Редактировать: ответ на этом сайте не работал для меня. Я не знаю, где проблема
Может быть что-то, как тривиальный, как кожух? Вы пытались игнорировать дело? var res = App.MainViewModel.Messages.Where (a => a.IndexOf ("on", StringComparison.CurrentCultureIgnoreCase)> = 0); – sondergard
Я не очень понял этот код. Это правильный способ использовать оператор if для моих операций? Код: if (res! = Null) { // мой код } –
Btw - что вы на самом деле имеете в виду «ничего не работает»? Какой результат получается, и что вам нужно? – sondergard