Если вы хотите сравнить что-то с Nothing
, просто сравните это. Нет необходимости приводить Nothing
как конкретный тип c. Кроме того, вы используете =
и <>
только для равенства значений. Это означает, что для типов значений (структур) и для некоторых очень немногих ссылочных типов, где имеет значение равенство значений, например, для Strings
, где важно, чтобы два объекта String
содержали одинаковые символы, а не то, относятся ли две ссылки к одному String
объект. Для равенства ссылок вы используете Is
и IsNot
:
Return Process.GetProcessesByName(DatePatch.BinaryName).FirstOrDefault(Function(p) p.MainModule.FileName.StartsWith("")) IsNot Nothing
Если вас действительно волнует, есть ли совпадение, а не то, что это совпадение, вам не нужно сравнение:
Return Process.GetProcessesByName(DatePatch.BinaryName).Any(Function(p) p.MainModule.FileName.StartsWith(""))