我正在做一個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