首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >强制转换类型化绑定列表

强制转换类型化绑定列表
EN

Stack Overflow用户
提问于 2014-07-24 19:26:54
回答 3查看 729关注 0票数 1

我有BindingList<BaseClass>变量。然后我想将它赋值给BindingList,但得到的错误不能转换...有可能吗?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
BindingList<BaseClass> base;
...
BindingList<ChildClass> child = new BindingList<ChildClass>();
...
base = child;

最后一行给出的错误是无法将一种类型转换为另一种类型。我知道列表最终是不同的类型,然而,从我的角度来看,列表类型可以因为继承而强制转换。

EN

回答 3

Stack Overflow用户

发布于 2014-07-24 19:32:36

从我的角度来看,由于继承,列表类型可以进行强制转换

不,他们不能-以此为例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
List<Fruit> base;

List<Apple> apples = new List<Apple>();

base = apples;   

// if that were legal, then this could happen:

base.Add(new Orange());  // fail because a list of apples can't store an orange.

您可以将这些项目转换为新列表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
base = child.Cast<BaseClass>().ToList();

现在,base是一个单独的列表,可以包含BaseClass的任何实例。

票数 3
EN

Stack Overflow用户

发布于 2014-07-24 19:29:11

您在这里看到的是.Net中的泛型缺乏差异。它是设计出来的。

基本上,这是为了防止您执行以下操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
List<Giraff> giraffs = new List<Giraff>();
List<Animal> animals = giraffs;

您代码中的某个位置存在...then

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
animals.Add(new Horse()); //run-time error

基本上,该检查阻止您在运行时执行此操作,并防止您在编译时执行此操作。有趣的是,这并不适用于数组。但那是另一回事了..。

这里有一个关于它的MSDN article

票数 0
EN

Stack Overflow用户

发布于 2014-07-24 19:31:07

如果您有一个BindingList<BaseClass>,您将能够向列表中添加ChildClassAnotherChildClass类型的项。这对于BindingList<ChildClass>是无效的,因此您不能将后者分配给前者。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24942340

复制
相关文章
正则表达式之匹配不存在特定字符的字符串
作为一名不经常使用正则表达式的程序员,想用最简单的语言来描述否定匹配,不过发现确实不是那么好理解。还是按照自己知道的来描述吧。
李小白是一只喵
2020/04/24
5.7K0
正则表达式之匹配不存在特定字符的字符串
js判断是否是字符串_js正则表达式匹配字符串
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/08
5.8K0
go: 配置golangci-lint 与 precommit配合检查函数是否超过特定行数
最近代码规范很烦人。要求一个函数不能超过80行。只能在git pre-commit钩子上检查下了。 这里使用golangci-lint,里面包含了funlen检查器 config.yaml
超级大猪
2021/06/29
1.9K0
js判断是否包含指定字符串_js正则表达式匹配字符串
前言:有时候,我们在js中需要判断一个字符串中,是不是包含某个字符。可以采用以下方法进行判断。
全栈程序员站长
2022/11/08
2.9K0
正则表达式匹配_正则表达式匹配字符串长度
请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配
全栈程序员站长
2022/09/19
2K0
Java检查枚举是否包含给定的字符串?
enum choices {a1, a2, b1, b2}; 方法一: public static boolean contains(String test) { for (Choice c : Choice.values()) { if (c.name().equals(test)) { return true; } } return false; } 方法二: EnumUtils.isValidEnum(MyEnum.cla
似水的流年
2019/12/06
4.4K0
使用MySQL的rlike判断字符串是否匹配
表user_experience_wealth_log改名为user_experience_wealth_log_new,该表涉及若干存储过程。为了避免遗漏,需要确认所有相关过程都做了修改,验证方法为不存在包含user_experience_wealth_log的存储过程。
用户1148526
2020/04/30
1.7K0
字符串匹配(一) -- 朴素匹配与 KMP 算法
软件算法中,最基础的算法要数排序和查找了,而字符串模式匹配算法可谓是基础中的基础,而最有名又最具代表性的字符串匹配算法要数 KMP 算法了,本文我们就来详细介绍一下 KMP 算法
用户3147702
2022/06/27
1.3K0
字符串匹配(一) -- 朴素匹配与 KMP 算法
PHP正则表达式和字符串匹配
正则表达式是一种可以用来匹配字符串的模式。在PHP中,可以使用preg_match()函数来使用正则表达式进行匹配。preg_match()函数接受两个参数,第一个参数是正则表达式,第二个参数是要匹配的字符串。它返回匹配成功的次数,如果匹配失败则返回0。
堕落飞鸟
2023/04/27
1.3K0
JavaScript 技术篇-js正则表达式匹配字符串左右两边是否包含空格
同理 /(\s$)/ 是匹配右边的空格。 只要包含空格是 /(\s)/。 还可以通过 indexOf(" ") 来进行检测是否包含空格。
小蓝枣
2020/09/23
3K0
检查 Python 中给定字符串是否仅包含字母的方法
Python被世界各地的程序员用于不同的目的,如Web开发,数据科学,机器学习,并通过自动化执行各种不同的过程。在本文中,我们将了解检查python中给定字符串是否仅包含字符的不同方法。
很酷的站长
2023/08/11
2440
检查 Python 中给定字符串是否仅包含字母的方法
javascript 检查字符串是否是数字的几种方法
代码: //判断是否是正整数 function IsNum(s) { if(s!=null){ var r,re; re = /\d*/i; //\d表示数字,
零式的天空
2022/03/02
1.8K0
Java中判断某个String字符串是否包含特定字符串,并统计个数。
原理很简单,用空格代替特定字符,然后计算与以前字符串的长度差,再除以 特定字符的长度,即可得出A中所占b的个数。 **方法2:(利用indexOf与substring)**
Petterp
2022/02/09
3.4K0
perl 正则表达式 匹配字符串 或逻辑
perl正则表示式的备忘 http://www.runoob.com/perl/perl-regular-expressions.html
全栈程序员站长
2022/08/30
6590
字符串的匹配算法_多字符串匹配
不要被事物的表面现象所迷惑,这个算法全称:Brute Force,有个拉风的中文名:暴力匹配算法。
全栈程序员站长
2022/09/25
2.2K0
字符串的匹配算法_多字符串匹配
PHP正则表达式和字符串匹配示例
除了正则表达式之外,PHP还提供了一些字符串匹配函数。这些函数可以用于查找字符串中是否包含某个子串,或者从字符串中提取特定的子串。
堕落飞鸟
2023/04/27
1K0
Python判断字符串是否包含特定子串的7种方法
在写代码的过程中,我们经常会遇到这样一个需求:判断字符串中是否包含某个关键词,也就是特定的子字符串。比如从一堆书籍名称中找出含有“python”的书名。
Crossin先生
2020/09/17
220.4K0
golang刷leetcode:检查是否有合法括号字符串路径
一个括号字符串是一个 非空 且只包含 '(' 和 ')' 的字符串。如果下面 任意 条件为 真 ,那么这个括号字符串就是 合法的 。
golangLeetcode
2022/08/02
9000
检查图片是否损坏、图片后缀是否与实际图片类型对应 - Python
日常工作中,时常会需要用到图片,有时候图片在下载、解压过程中会损坏,而如果一张一张点击来检查就太不Cool了,因此我想大家都需要一个检查脚本;
HoLoong
2020/09/21
3.3K0
检查图片是否损坏、图片后缀是否与实际图片类型对应 - Python
点击加载更多

相似问题

检查字符串是否与特定模式匹配

10

检查字符串是否与特定格式匹配

37

检查项目是否与正则表达式字符串匹配

20

如何检查字符串是否与特定格式匹配?

132

如何检查字符串是否与特定格式匹配?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文