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

C# 在异常消息中打印ICollection中的元素数,c#,exception,icollection,C#,Exception,Icollection,我有一个项目集合,我想向用户抛出一个异常,即集合中有多少个项目-如果它包含的项目多于或少于1个 这看起来很简单,但我不知道如何打印它包含的元素数 我的集合变量称为myCollection,它包含3个元素 我试过这样的方法: if(myCollection?.count != 1){ throw new ArgumentOutOfRangeException("myCollection contains {0} elements", myCollection?.count} } 但它告诉

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

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

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

我试过这样的方法:

if(myCollection?.count != 1){
    throw new ArgumentOutOfRangeException("myCollection contains {0} elements", myCollection?.count}
}
但它告诉我,以下几点:

“无法从“int”转换为“System.Exception”


请任何人帮忙。

为了按照OP中的格式设置异常消息,您可以使用以下方法之一

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


为了将异常消息格式化为OP中的格式,可以使用以下方法之一

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


请参考以下链接->您应该执行
新建ArgumentOutOfRangeException($“myCollection包含{myCollection?.count}”)请参考以下链接->您应该执行
新建ArgumentOutOfRangeException($“myCollection包含{myCollection?.count}”)