错误:未为<>
和System.Diagnostics.Process
类型定义运算符System.Diagnostics.Process
。
功能错误
Public Shared Function PornesteJocul() As Boolean
Return Process.GetProcessesByName(DatePatch.BinaryName).FirstOrDefault(Function(p) p.MainModule.FileName.StartsWith("")) <> CType(Nothing, Process)
End Function
谢谢。
最佳答案
如果您想将某些内容与Nothing
进行比较,则只需对其进行比较。无需将Nothing
强制转换为特定类型。另外,仅将=
和<>
用于值相等。这意味着对于值类型(结构)和少数几个引用类型,其中值相等是有意义的,例如对于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(""))
关于vb.net - 未为 '<>'和 'System.Diagnostics.Process'类型定义错误运算符 'System.Diagnostics.Process',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61036985/