if (ddl.SelectedValue != "")
После использования Fortify для анализа моего кода Fortify покажет мне уязвимость, которая является «Null Dereference».Null Dereference C#
Как я могу решить эту проблему?
if (ddl.SelectedValue != "")
После использования Fortify для анализа моего кода Fortify покажет мне уязвимость, которая является «Null Dereference».Null Dereference C#
Как я могу решить эту проблему?
Предполагая ddl
никогда не может быть пустым:
if (!String.IsNullOrEmpty(ddl.SelectedValue)
{
}
В противном случае:
if (ddl != null && !String.IsNullOrEmpty(ddl.SelectedValue)
{
}
Просто из интереса, почему 'IsNullOrEmpty', а не'! = "" 'Check? В обоих случаях 'ddl' никогда не может быть нулевым (« предполагать »для первого и явную проверку для второго). – paxdiablo
, потому что selectedvalue может быть нулевым, и идиоматически это обычный стиль .Net, а не if (ddl.SelectedValue! = Null && ddl.SelectedValue! = "") –
А теперь я не вижу бит 'SelectedValue' в учетную запись. Приветствия. – paxdiablo
... проверить, если это пустой или пустой ....? –
'ddl' может быть пустым – Rob
@Rob: элементы управления обычно создаются экземпляром, но да ... –