从特定范围内的数字列表中查找可用数字

Cha*_*ase 4 c#

场景:数据库具有包含帐号列表的表.帐号范围为0-9999.允许客户在他们认为合适的范围内为该范围内的客户编制帐号.

需要:我正在制作一份报告,以范围格式显示未使用的帐号.所以,我需要一个字符串列表,以范围格式显示可用的帐号.

示例:帐号0,1,2,4,20,21,22都在数据中使用.所以结果列表将是......

3
5-19
23-9999

这一整天都在磕磕绊绊.如何用直接c#做到这一点?

Jos*_*osh 7

使用范围除外

var acctNos = new List<int>() { 0,1,2,4,20,21,22 };

var unusedAcctNos = Enumerable.Range(0,9999).ToList().Except(acctNos);
Run Code Online (Sandbox Code Playgroud)

然后对连续的整数进行分组,修改此处给出的已接受解决方案.