FirstOrDefault не принимает аргумент - PullRequest
0 голосов
/ 02 января 2012

Я поместил считывание штрих-кода в отдельный метод, который считывает штрих-код и помещает его в текстовое поле с именем штрих-код. и создал кнопку, которая будет загружать данные ядра, соответствующие этому штрих-коду, но сталкивающиеся с проблемой

private void Load_Click(object sender, RoutedEventArgs e) 
{
    var str = @"<Books xmlns=""""> <book Barcode=""780672318863""><Serial>11</Serial> 
                           <name>abc</name> <detail>Fantasy</detail></book>
                           <book Barcode=""780672318864""><Serial>12</Serial>
                           <name>abc</name><detail>Fantasy1</detail></book></Books>";
    var strBarcode = barcode.Text;
    MessageBox.Show(strBarCode);
    XDocument docX = XDocument.Parse(str);
    var s = docX.Descendants("book").FirstOrDefault(a => a.Attribute("Barcode").Value == strBarcode);
    spnl.DataContext = s; 
}

Теперь в Messagebox указано правильное значение strBarCode, но оно не отображается в программе и значение s выходит на ноль с другой стороны, если вместо strBarcode указать «780672318863», оно показывает правильное значение
кто-нибудь может сказать мне, где я иду не так?

1 Ответ

1 голос
/ 02 января 2012

Не воспроизводится.

Я запустил ваш код с docX.Descendants("book")..., и он выдает правильный элемент.

Вы можете попробовать

  string  strBarcode = barcode.Text.Trim();

но в остальном вам просто нужно осмотреться в отладчике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...