Можно ли выполнить код vb.net с использованием vs2010 без запуска проекта? - PullRequest
0 голосов
/ 29 сентября 2010

Это может быть странный вопрос, и у него нет ответа, но я подумал, что опубликую его, чтобы узнать, как вы поступите. У меня есть строка кода:

Grade = Math.Round((Math.Abs(CorrectAnswers) / TotalQuestions) * 100)

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

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

Ответы [ 3 ]

2 голосов
/ 29 сентября 2010

Вы можете извлечь это в метод, который принимает значения, необходимые в качестве параметров, а затем создать тестовый комплект для его выполнения.

1 голос
/ 10 декабря 2010


Если вы добавите элемент «Диаграмма классов» в проект и из Solution Explorer перетащите в него файл класса, содержащий метод, вы можете вызывать статические методы (щелкнуть правой кнопкой мыши на элементе Class или использовать меню Diagram Class).
Он спросит у вас значения аргументов.

И действительно, вы можете использовать Immediate window (Ctrl + G или Debug-> Windows menu)
Откройте его и введите:
CorrectAnswers = 25,5
TotalQuestions = 30
Math.Round ((Math.Abs ​​(CorrectAnswers) / TotalQuestions) * 100)
И вы получите:
85,0 {Double}
Двухместный: 85,0
Совет: введите> cls, чтобы очистить содержимое окна.
Я не понимаю, как Билл говорит, что он скучает по VB6. У нас это тоже есть в VisualStudio и полностью функционально:)
Привет.
PS: я перевожу с испанской версии 2008, чтобы вы могли иметь другие пункты меню, горячие клавиши и т. д.

0 голосов
/ 30 сентября 2010

Итак, есть 150 вопросов, и они могут быть правильными или неправильными?Что означает, что есть только 151 возможный ввод?Почему бы просто не рассчитать их все?Запустите это в консольном приложении и посмотрите, нравятся ли вам результаты.

  Sub Main()
    Dim Grade As Integer
    Const TotalQuestions = 150
    Console.WriteLine("Marks             Grade")
    For CorrectAnswers = 0 To 150
      Grade = Math.Round((Math.Abs(CorrectAnswers) / TotalQuestions) * 100)
      Console.WriteLine(Format(CorrectAnswers, "000") & " out of 150 => " & _
                         Format(Grade, "000"))
    Next CorrectAnswers
    Console.ReadLine()
  End Sub

Помните, что Math.Round по умолчанию использует банковское округление Если дробный компонент a находится посередине между двумя целыми числами, одно из которых является четным, а другое нечетным, то возвращается четное число. Вы можете изменить это поведение .

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