我有一个 If 语句可以检查许多事情(BaySlots() 是一个字符串数组)。
If (Not BaySlots.Contains(Not String.Empty)) OrElse
(Not BayAcId = 0 AndAlso Not BayAcId = acProgramId _
AndAlso overrideSetting = False) Then
我虽然Array.Contains
第一个条件的方法足以告诉我数组是否只包含空字符串,但它给出了InvalidCastException: Conversion from string "" to type Long is not valid
所以我猜Not String.Empty
实际上被评估为试图转换为 Long 的东西。
有没有更好的方法可以用来改造这个 If,这样我仍然可以在数组中仅包含空字符串的测试,作为 If 的一部分,而不必添加前面的循环来测试每个索引BaySlots() 用于空字符串?
我认为除了循环之外可能应该有一些测试方法,因为这将是相对大量的工作来测试是否没有内容。
谢谢
PS 只是为了澄清这一点,并不是要测试数组是否具有零维或等于 Nothing,而是它包含的字符串都等于 String.Empty。