c# - 我如何 Concat 2 SelectList 列表?
问题描述
我需要将 2 个 SelectLists 合并为一个,Concat() 想要一个我无法弄清楚的演员表。
SelectList sl1 = new SelectList(Cust.GetCustListOne(), "Id", "Last", 2);
SelectList sl2 = new SelectList(Cust.GetCustListTwo(), "Id", "Last", 4);
SelectList sl3 = sl2.Concat(sl1);
第 3 行的错误是 CS0266 无法将类型 IEnumerable 隐式转换为 SelectList。存在显式转换(您是否缺少演员表?)
铸造如下
SelectList sl3 = (SelectList)sl2.Concat(sl1);
失败并出现以下错误
InvalidCastException:无法将类型的对象转换
<ConcatIterator>d__59-1[System.Web.Mvc.SelectListItem]
为类型System.Web.Mvc.SelectList
我在这里想念什么演员?
解决方案
这是因为System.Linq.Enumerable.Concat返回 IEnumerable 并且正如错误所暗示的那样,它不能将其隐式转换为它没有转换的东西。
改变:
SelectList sl3 = sl2.Concat(sl1);
以下,哪个有效,因为 SelectList 构造函数接受IEnumerable
SelectList sl3 = new SelectList(sl2.Concat(sl1));
推荐阅读
- android - How to Run for Periodic Detections with Android Beacon Library
- java - Java BigDecimal.remainder() 的问题 - 不合理且不准确的返回
- node.js - 是否有 Google Cloud Run node.js 包/示例/文档?
- xml - XML 字符集转换工具
- python - 贝叶斯信息标准(BIC)的python函数
- r - 将具有连续字符串的列添加到 R 中的数据框
- r - 删除重复项,然后计算剩余总数
- c++ - c ++初学者问题:我的代码是错误的还是我误解了说明?
- javascript - 将本地存储与多个页面上的表单一起使用
- bash - 使用脚本保持远程访问运行直到程序结束?