首页 > 解决方案 > C#:Enumerable.Range with except 返回超出范围的数字

问题描述

我有以下分机号码列表

DataTable ExtensionNumberList = new DataTable();
ExtensionNumberList.Columns.Add("Extensions", typeof(int));

ExtensionNumberList.Rows.Add("1262");
ExtensionNumberList.Rows.Add("10604");
ExtensionNumberList.Rows.Add("28196");
ExtensionNumberList.Rows.Add("80000");
ExtensionNumberList.Rows.Add("80000");
ExtensionNumberList.Rows.Add("80000");
ExtensionNumberList.Rows.Add("80000");
ExtensionNumberList.Rows.Add("80000");
ExtensionNumberList.Rows.Add("80000");
ExtensionNumberList.Rows.Add("80000");
ExtensionNumberList.Rows.Add("1270");
ExtensionNumberList.Rows.Add("1260");
ExtensionNumberList.Rows.Add("1261");
ExtensionNumberList.Rows.Add("1065");
ExtensionNumberList.Rows.Add("1017");
ExtensionNumberList.Rows.Add("1300");
ExtensionNumberList.Rows.Add("1003");
ExtensionNumberList.Rows.Add("1029");
ExtensionNumberList.Rows.Add("1111");
ExtensionNumberList.Rows.Add("1009");
ExtensionNumberList.Rows.Add("1194");
ExtensionNumberList.Rows.Add("1376");
ExtensionNumberList.Rows.Add("36602");
ExtensionNumberList.Rows.Add("43401");
ExtensionNumberList.Rows.Add("1010");
ExtensionNumberList.Rows.Add("1392");
ExtensionNumberList.Rows.Add("1315");
ExtensionNumberList.Rows.Add("1195");
ExtensionNumberList.Rows.Add("17101");
ExtensionNumberList.Rows.Add("17602");
ExtensionNumberList.Rows.Add("1173");
ExtensionNumberList.Rows.Add("1265");
ExtensionNumberList.Rows.Add("1358");
ExtensionNumberList.Rows.Add("35701");
ExtensionNumberList.Rows.Add("1362");
ExtensionNumberList.Rows.Add("1253");
ExtensionNumberList.Rows.Add("1095");
ExtensionNumberList.Rows.Add("1291");
ExtensionNumberList.Rows.Add("1314");
ExtensionNumberList.Rows.Add("1060");
ExtensionNumberList.Rows.Add("1049");
ExtensionNumberList.Rows.Add("1130");
ExtensionNumberList.Rows.Add("35103");
ExtensionNumberList.Rows.Add("38801");
ExtensionNumberList.Rows.Add("42801");
ExtensionNumberList.Rows.Add("32402");
ExtensionNumberList.Rows.Add("1158");
ExtensionNumberList.Rows.Add("34201");
ExtensionNumberList.Rows.Add("1190");
ExtensionNumberList.Rows.Add("7591");
ExtensionNumberList.Rows.Add("1101");
ExtensionNumberList.Rows.Add("38601");
ExtensionNumberList.Rows.Add("26603");
ExtensionNumberList.Rows.Add("80005");
ExtensionNumberList.Rows.Add("1304");
ExtensionNumberList.Rows.Add("1418");
ExtensionNumberList.Rows.Add("1094");
ExtensionNumberList.Rows.Add("1057");
ExtensionNumberList.Rows.Add("22005");
ExtensionNumberList.Rows.Add("97205");
ExtensionNumberList.Rows.Add("1293");
ExtensionNumberList.Rows.Add("22003");
ExtensionNumberList.Rows.Add("1142");
ExtensionNumberList.Rows.Add("1159");
ExtensionNumberList.Rows.Add("1077");
ExtensionNumberList.Rows.Add("1243");
ExtensionNumberList.Rows.Add("32401");
ExtensionNumberList.Rows.Add("1143");
ExtensionNumberList.Rows.Add("26701");
ExtensionNumberList.Rows.Add("96504");
ExtensionNumberList.Rows.Add("1410");
ExtensionNumberList.Rows.Add("1268");
ExtensionNumberList.Rows.Add("1007");
ExtensionNumberList.Rows.Add("30601");
ExtensionNumberList.Rows.Add("1360");
ExtensionNumberList.Rows.Add("7802");
ExtensionNumberList.Rows.Add("7801");
ExtensionNumberList.Rows.Add("7803");
ExtensionNumberList.Rows.Add("7804");
ExtensionNumberList.Rows.Add("7805");
ExtensionNumberList.Rows.Add("7806");
ExtensionNumberList.Rows.Add("7807");
ExtensionNumberList.Rows.Add("7808");
ExtensionNumberList.Rows.Add("39701");
ExtensionNumberList.Rows.Add("27003");
ExtensionNumberList.Rows.Add("1138");
ExtensionNumberList.Rows.Add("1006");
ExtensionNumberList.Rows.Add("97206");
ExtensionNumberList.Rows.Add("1284");
ExtensionNumberList.Rows.Add("39901");
ExtensionNumberList.Rows.Add("26201");
ExtensionNumberList.Rows.Add("1161");
ExtensionNumberList.Rows.Add("1161");
ExtensionNumberList.Rows.Add("1161");
ExtensionNumberList.Rows.Add("23102");
ExtensionNumberList.Rows.Add("1151");
ExtensionNumberList.Rows.Add("1102");
ExtensionNumberList.Rows.Add("36501");
ExtensionNumberList.Rows.Add("1307");
ExtensionNumberList.Rows.Add("80007");
ExtensionNumberList.Rows.Add("1386");
ExtensionNumberList.Rows.Add("38501");
ExtensionNumberList.Rows.Add("1178");
ExtensionNumberList.Rows.Add("1416");
ExtensionNumberList.Rows.Add("1182");
ExtensionNumberList.Rows.Add("1005");
ExtensionNumberList.Rows.Add("1005");
ExtensionNumberList.Rows.Add("36801");
ExtensionNumberList.Rows.Add("1021");
ExtensionNumberList.Rows.Add("27602");
ExtensionNumberList.Rows.Add("1039");
ExtensionNumberList.Rows.Add("8460");
ExtensionNumberList.Rows.Add("8461");
ExtensionNumberList.Rows.Add("8462");
ExtensionNumberList.Rows.Add("2000");
ExtensionNumberList.Rows.Add("1264");
ExtensionNumberList.Rows.Add("1306");
ExtensionNumberList.Rows.Add("1402");
ExtensionNumberList.Rows.Add("21002");
ExtensionNumberList.Rows.Add("1230");
ExtensionNumberList.Rows.Add("1054");
ExtensionNumberList.Rows.Add("24403");
ExtensionNumberList.Rows.Add("25704");
ExtensionNumberList.Rows.Add("37701");
ExtensionNumberList.Rows.Add("28304");
ExtensionNumberList.Rows.Add("1383");
ExtensionNumberList.Rows.Add("1370");
ExtensionNumberList.Rows.Add("1282");
ExtensionNumberList.Rows.Add("1078");
ExtensionNumberList.Rows.Add("13203");
ExtensionNumberList.Rows.Add("40601");
ExtensionNumberList.Rows.Add("19503");
ExtensionNumberList.Rows.Add("1048");
ExtensionNumberList.Rows.Add("1237");
ExtensionNumberList.Rows.Add("27301");
ExtensionNumberList.Rows.Add("1394");
ExtensionNumberList.Rows.Add("35101");
ExtensionNumberList.Rows.Add("37501");
ExtensionNumberList.Rows.Add("1308");
ExtensionNumberList.Rows.Add("1033");
ExtensionNumberList.Rows.Add("31101");
ExtensionNumberList.Rows.Add("1396");
ExtensionNumberList.Rows.Add("1285");
ExtensionNumberList.Rows.Add("1066");
ExtensionNumberList.Rows.Add("1089");
ExtensionNumberList.Rows.Add("27001");
ExtensionNumberList.Rows.Add("25705");
ExtensionNumberList.Rows.Add("28001");
ExtensionNumberList.Rows.Add("28001");
ExtensionNumberList.Rows.Add("1104");
ExtensionNumberList.Rows.Add("6039");
ExtensionNumberList.Rows.Add("1087");
ExtensionNumberList.Rows.Add("2023");
ExtensionNumberList.Rows.Add("1099");
ExtensionNumberList.Rows.Add("1208");
ExtensionNumberList.Rows.Add("1248");
ExtensionNumberList.Rows.Add("33301");
ExtensionNumberList.Rows.Add("1040");
ExtensionNumberList.Rows.Add("1404");
ExtensionNumberList.Rows.Add("1100");
ExtensionNumberList.Rows.Add("1200");
ExtensionNumberList.Rows.Add("38701");
ExtensionNumberList.Rows.Add("31402");
ExtensionNumberList.Rows.Add("1080");
ExtensionNumberList.Rows.Add("1375");
ExtensionNumberList.Rows.Add("1134");
ExtensionNumberList.Rows.Add("1134");
ExtensionNumberList.Rows.Add("41401");
ExtensionNumberList.Rows.Add("1231");
ExtensionNumberList.Rows.Add("1252");
ExtensionNumberList.Rows.Add("36901");
ExtensionNumberList.Rows.Add("25803");
ExtensionNumberList.Rows.Add("1242");
ExtensionNumberList.Rows.Add("30401");
ExtensionNumberList.Rows.Add("1128");
ExtensionNumberList.Rows.Add("1128");
ExtensionNumberList.Rows.Add("1128");
ExtensionNumberList.Rows.Add("1114");
ExtensionNumberList.Rows.Add("1090");
ExtensionNumberList.Rows.Add("91301");
ExtensionNumberList.Rows.Add("1353");
ExtensionNumberList.Rows.Add("97203");
ExtensionNumberList.Rows.Add("40102");
ExtensionNumberList.Rows.Add("28002");
ExtensionNumberList.Rows.Add("1019");
ExtensionNumberList.Rows.Add("11402");
ExtensionNumberList.Rows.Add("1189");
ExtensionNumberList.Rows.Add("20603");
ExtensionNumberList.Rows.Add("1008");
ExtensionNumberList.Rows.Add("1335");
ExtensionNumberList.Rows.Add("1319");
ExtensionNumberList.Rows.Add("1058");
ExtensionNumberList.Rows.Add("1103");
ExtensionNumberList.Rows.Add("1257");
ExtensionNumberList.Rows.Add("80008");
ExtensionNumberList.Rows.Add("1055");
ExtensionNumberList.Rows.Add("1140");
ExtensionNumberList.Rows.Add("1289");
ExtensionNumberList.Rows.Add("1368");
ExtensionNumberList.Rows.Add("1209");
ExtensionNumberList.Rows.Add("97202");
ExtensionNumberList.Rows.Add("1241");
ExtensionNumberList.Rows.Add("31502");
ExtensionNumberList.Rows.Add("19603");
ExtensionNumberList.Rows.Add("17505");
ExtensionNumberList.Rows.Add("28702");
ExtensionNumberList.Rows.Add("1097");
ExtensionNumberList.Rows.Add("92302");
ExtensionNumberList.Rows.Add("1236");
ExtensionNumberList.Rows.Add("2021");
ExtensionNumberList.Rows.Add("2020");
ExtensionNumberList.Rows.Add("1378");
ExtensionNumberList.Rows.Add("1079");
ExtensionNumberList.Rows.Add("1213");
ExtensionNumberList.Rows.Add("1081");
ExtensionNumberList.Rows.Add("10603");
ExtensionNumberList.Rows.Add("1105");
ExtensionNumberList.Rows.Add("1025");
ExtensionNumberList.Rows.Add("1075");
ExtensionNumberList.Rows.Add("1287");
ExtensionNumberList.Rows.Add("2002");
ExtensionNumberList.Rows.Add("1203");
ExtensionNumberList.Rows.Add("13204");
ExtensionNumberList.Rows.Add("1061");
ExtensionNumberList.Rows.Add("31103");
ExtensionNumberList.Rows.Add("1132");
ExtensionNumberList.Rows.Add("36101");
ExtensionNumberList.Rows.Add("22002");
ExtensionNumberList.Rows.Add("1165");
ExtensionNumberList.Rows.Add("1233");
ExtensionNumberList.Rows.Add("1157");
ExtensionNumberList.Rows.Add("1309");
ExtensionNumberList.Rows.Add("94703");
ExtensionNumberList.Rows.Add("80006");
ExtensionNumberList.Rows.Add("40201");
ExtensionNumberList.Rows.Add("42502");
ExtensionNumberList.Rows.Add("17502");
ExtensionNumberList.Rows.Add("1139");
ExtensionNumberList.Rows.Add("60000");
ExtensionNumberList.Rows.Add("1374");
ExtensionNumberList.Rows.Add("1188");
ExtensionNumberList.Rows.Add("1032");
ExtensionNumberList.Rows.Add("1000");
ExtensionNumberList.Rows.Add("22004");
ExtensionNumberList.Rows.Add("31301");
ExtensionNumberList.Rows.Add("1222");
ExtensionNumberList.Rows.Add("1177");
ExtensionNumberList.Rows.Add("1056");
ExtensionNumberList.Rows.Add("1002");
ExtensionNumberList.Rows.Add("27502");
ExtensionNumberList.Rows.Add("39501");
ExtensionNumberList.Rows.Add("1091");
ExtensionNumberList.Rows.Add("1214");
ExtensionNumberList.Rows.Add("33201");
ExtensionNumberList.Rows.Add("40501");
ExtensionNumberList.Rows.Add("1050");
ExtensionNumberList.Rows.Add("1166");
ExtensionNumberList.Rows.Add("1046");
ExtensionNumberList.Rows.Add("1030");
ExtensionNumberList.Rows.Add("42901");
ExtensionNumberList.Rows.Add("1027");
ExtensionNumberList.Rows.Add("1258");
ExtensionNumberList.Rows.Add("1047");
ExtensionNumberList.Rows.Add("1047");
ExtensionNumberList.Rows.Add("1047");
ExtensionNumberList.Rows.Add("1062");
ExtensionNumberList.Rows.Add("1163");
ExtensionNumberList.Rows.Add("1067");
ExtensionNumberList.Rows.Add("4357");
ExtensionNumberList.Rows.Add("4357");
ExtensionNumberList.Rows.Add("1217");
ExtensionNumberList.Rows.Add("38101");
ExtensionNumberList.Rows.Add("34801");
ExtensionNumberList.Rows.Add("1154");
ExtensionNumberList.Rows.Add("7776");
ExtensionNumberList.Rows.Add("7777");
ExtensionNumberList.Rows.Add("1096");
ExtensionNumberList.Rows.Add("1255");
ExtensionNumberList.Rows.Add("99901");
ExtensionNumberList.Rows.Add("96501");
ExtensionNumberList.Rows.Add("24402");
ExtensionNumberList.Rows.Add("1220");
ExtensionNumberList.Rows.Add("1278");
ExtensionNumberList.Rows.Add("20601");
ExtensionNumberList.Rows.Add("1093");
ExtensionNumberList.Rows.Add("1093");
ExtensionNumberList.Rows.Add("92301");
ExtensionNumberList.Rows.Add("92307");
ExtensionNumberList.Rows.Add("1045");
ExtensionNumberList.Rows.Add("1363");
ExtensionNumberList.Rows.Add("34701");
ExtensionNumberList.Rows.Add("1412");

现在我将其转换为列表:

var list = ExtensionNumberList
   .AsEnumerable()
   .Select(x => Convert.ToInt32(x[0]))
   .ToList();

现在我想得到一个从 1000 到 9999 的整数列表,并排除 ExtensionNumberList 中的数字

var result = Enumerable.Range(1000, 9999).Except(list);

一个问题是我得到了 9999 之外的分机号码。即。10000

我想要 1000 到 9999 之间的数字并排除列表中的任何数字,并且数字列表不应超出 1000 或 9999。我应该怎么做才能确保我的数字在该范围内?

提前致谢

标签: c#

解决方案


一个问题是我得到了 9999 之外的分机号码。即。10000

是的,那是因为您要求从 1000 开始的 9999 个数字。

for 的第二个参数Enumerable.Range不是上限,而是计数。

如果你想要 1000 到 9999 范围内的数字,你想要Enumerable.Range(1000, 9000)


推荐阅读