我正在做一个SignalRWPF应用程序。我从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 2014-08-28 20:43:35
我不明白这个代码。这是正确的方式来使用if语句作为我的操作吗?代码: if(res!= null) { //我的代码 } – 2014-08-28 20:51:36
顺便说一句 - 你什么意思“没有工作”?结果是什么,你需要什么? – sondergard 2014-08-28 21:29:21