TryParse Неверные аргументы

1

Я пытаюсь запустить тест NUnit для поиска чисел внутри строки. Я использую TryParse, но он дал мне эту ошибку: Error1: Наилучшее перегруженное соответствие метода для 'int.TryParse(string, out int)' имеет некоторые недопустимые аргументы.

Не могли бы вы, ребята, сказать мне, что я делаю неправильно?

[Test]
public void ThenSearchForBrittanyShouldFindOneUser()
{
    var searchresult = LuceneFullTextSearch.SuggestSimilar("brit123", 1).ToArray();


    int num = 0;
    foreach (var result in searchresult)
    {

        if (result = int.TryParse(searchresult, out num))
        {
            searchresult.ShouldNotBeEmpty();
            searchresult.ShouldContain("Brittany");
            searchresult.Should().Count.NoMoreThan(1);
        }
        else
        {
            searchresult.ShouldNotBeEmpty();
            searchresult.Equals(num);
  • 0
    Сначала вы не хотите назначать что-либо в условном выражении. Просто сделайте int.TryParse (string, out int) в вашем условном выражении, или вы будете выглядеть как кусочек. Я бы использовал результат, а не searchresult
  • 0
    searchResult выглядит как перечисляемый, а не строка. Это похоже на ошибку опечатки больше всего на свете. foreach (var result in searchResult) => Я foreach (var result in searchResult) что result вашей строки должен быть ввод строки в int.TryParse (и тогда вы также не будете использовать его в качестве возвращаемого значения метода TryParse ).
Теги:

2 ответа

4
Лучший ответ

searchresult - это массив, а не строка; вместо этого вы хотите получить result.

Кроме того, у вас не может быть задание в условном выражении if, поэтому ваш синтаксис в любом случае неверен. TryParse уже возвращает bool, поэтому вы должны попробовать:

    if (int.TryParse(result, out num))
    {
         ...
0

использование

if (int.TryParse(result, out num))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню