在异常消息中打印 ICollection 中的元素数

Print the number of elements in an ICollection in an exception message

我有一个项目集合,我想向用户抛出异常,集合中有多少项目 - 如果它包含的项目多于或少于 1。

这看起来很简单,但我不知道如何打印它包含的元素数。

我的集合变量名为 myCollection,它包含 3 个元素。

我试过这样的事情:

if(myCollection?.count != 1){
    throw new ArgumentOutOfRangeException("myCollection contains {0} elements", myCollection?.count}
}

但它告诉我,以下内容:

"Cannot convert from 'int' to 'System.Exception"

有谁能帮忙吗

为了像 OP 一样格式化异常消息,您可以使用以下任一方法

throw new ArgumentOutOfRangeException(string.Format("myCollection contains {0} elements", myCollection?.count));

throw new ArgumentOutOfRangeException($"myCollection contains {myCollection?.count} elements);