Using .Count() to test for emptiness works, but using .Any() makes the intent clearer, and the code more readable. However, there are some cases where special attention should be paid:

Noncompliant Code Example

Private Function HasContent(Strings As IEnumerable(Of String)) As Boolean
    Return Strings.Count() > 0      ' Noncompliant
End Function

Private Function HasContent2(Strings As IEnumerable(Of String)) As Boolean
    Return Strings.Count() >= 1     ' Noncompliant
End Function

Private Function IsEmpty(Strings As IEnumerable(Of String)) As Boolean
    Return Strings.Count() = 0      ' Noncompliant
End Function

Compliant Solution

Private Function HasContent(Strings As IEnumerable(Of String)) As Boolean
    Return Strings.Any
End Function

Private Function HasContent2(Strings As IEnumerable(Of String)) As Boolean
    Return Strings.Any
End Function

Private Function IsEmpty(Strings As IEnumerable(Of String)) As Boolean
    Return Not Strings.Any
End Function