Я пытаюсь запустить тест 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);
searchresult
- это массив, а не строка; вместо этого вы хотите получить result
.
Кроме того, у вас не может быть задание в условном выражении if
, поэтому ваш синтаксис в любом случае неверен. TryParse
уже возвращает bool, поэтому вы должны попробовать:
if (int.TryParse(result, out num))
{
...
использование
if (int.TryParse(result, out num))
searchResult
выглядит как перечисляемый, а не строка. Это похоже на ошибку опечатки больше всего на свете.foreach (var result in searchResult)
=> Яforeach (var result in searchResult)
чтоresult
вашей строки должен быть ввод строки в int.TryParse (и тогда вы также не будете использовать его в качестве возвращаемого значения методаTryParse
).