поиск значения в Excel, используя Linq - PullRequest
0 голосов
/ 30 августа 2018

Я ищу значение с помощью linq в моем проекте C # веб-формы ASP. вот мой код:

            var searchCell = from cell in worksheet1.Cells["B:B"] 
                             where cell.Value.ToString() == "something"
                             select cell.Start.Row;


            if (searchCell!=null)
            {
                rowNum = searchCell.First();
                StatusLabel.Text = rowNum.ToString();

            }
            else
            {
                StatusLabel.Text = "None";
            }

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

1 Ответ

0 голосов
/ 30 августа 2018

Ваш запрос LINQ возвращает последовательность объектов, никогда null. Если последовательность пуста, ваш вызов First() не удастся. Попробуйте это:

if (searchCell.Any())
{
    rowNum = searchCell.First();
    StatusLabel.Text = rowNum.ToString();
}
else
{
    StatusLabel.Text = "None";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...