Нарушение производительности за непредставление переменных - PullRequest
0 голосов
/ 28 апреля 2020

Недавно я проходил несколько небольших упражнений в разработке. В одном из них меня попросили преобразовать строку в число в VB. NET с учетом текущей локали. Итак, я сделал:

Imports System

Public Module Aplicacion
    Public Sub Main()
        Console.WriteLine(Numero("Hello World"))
        Console.WriteLine(Numero(2))
        Console.WriteLine(Numero(.24))
        Console.WriteLine(Numero(2.4))
    End Sub
    Function Numero(input as String) AS Double
        Try
            return Convert.ToDouble(input)
        Catch Ex AS Exception
            return 0    
        End Try
    End Function
End Module

Учитель исправил это, сказав мне, что «хотя это работает, правильный путь - объявить переменную того же типа, который я собираюсь вернуть, вычислите его значение в теле функции и в конце верните эту переменную ".

Есть ли какая-то выгода в том, чтобы делать это напрямую, как я? Может быть, какой-то бонус за компиляцию или улучшение производительности?

1 Ответ

0 голосов
/ 29 апреля 2020
Function Numero(input As Object)
    If input.GetType Is GetType(String) Then
        Return 0
    Else
        Return input
    End If
End Function

Sub Main()
    Console.WriteLine(Numero("$$$$325FK-.,ASL$$$"))
    Console.WriteLine(Numero(1))
    Console.WriteLine(Numero(1.5))
    Console.ReadKey()
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...