当形参数组的类型为 object[] 时,在方法的正常形式和单个 object 形参的扩展形式之间可能产生潜在的多义性。产生此多义性的原因是 object[] 本身可隐式转换为 object。然而,此多义性并不会造成任何问题,这是因为可以在需要时通过插入一个强制转换来解决它。

—CSharp Language Specification 中文版

然而假设存在

static int F(params object[] objs)
{// do something
}

而在其他地方试图调用

Console.WriteLine(F((object)new object[] { }));

那么它会在转换 (object) 这里爆提示

转换是多余的。
显示可能的修补程序 (Ctrl+.)

然而实际上是否去掉这个 (object) 强制类型转换操作的结果是不一样的。

有强制类型转换时:

objs
{object[1]}[0]: {object[0]}

(来自即时窗口)

没有强制类型转换时:

{object[0]}

官方示例:

using System;
class Test
{static void F(params object[] args) {foreach (object o in args) {Console.Write(o.GetType().FullName);Console.Write(" ");}Console.WriteLine();}static void Main() {object[] a = {1, "Hello", 123.456};object o = a;F(a);F((object)a);F(o);F((object[])o);}
}

可产生输出

System.Int32 System.String System.Double
System.Object[]
System.Object[]
System.Int32 System.String System.Double

以上。

C#: IntelliSense 貌似做错了一些事情。相关推荐

  1. java什么时会出现gc_面试题:java GC发生在会么时候,对什么东西,做了什么事情...

    转自cy609329119的 面试题:"你能不能谈谈,java GC是在什么时候,对什么东西,做了什么事情?" 面试题目: 地球人都知道,Java有个东西叫垃圾收集器,它让创建的对 ...

  2. 【转】做正确的事情,等着被开除(Do the right thing, Wait to get fired)

    原作者博客:https://brendansterne.com/2013/07/11/do-the-right-thing-wait-to-get-fired/ 下面是中文翻译: 我偶然在< T ...

  3. 如何在面试中介绍自己的项目经验,90%的人都做错了!

    目录 1.如何准备项目介绍?别害怕,面试官什么都不知道 2.准备好项目细节,一旦被问倒,说明你没做过 3.不露痕迹地说出面试官爱听的话 4.主动出击,面试官没有义务挖掘你的亮点 5.低级错误可能导致直 ...

  4. 车联网领域,传统TSP企业做错了什么 ?

    当下,车联网的定义更加丰富和宽泛,除了传统意义上的Telematics服务,数字服务.移动出行服务.电商平台等将被融入到车联网概念中,与用车相关的维修保养.洗车.代驾等第三方服务,也将成为整车厂整合的 ...

  5. android xml 多行注释,C#中的XML多行注释 - 我做错了什么?

    根据这篇文章,可以获得多行XML注释 - 而不是使用///,使用/** */.这是我对多行注释的解释,以及我想要发生的事情: /** * * this comment is on line 1 in ...

  6. left join 大表放前面_带娃时,走在孩子前面与跟在孩子身后区别很大,很多父母都做错了...

    为人父母,都有一种天生的保护欲,特别是当孩子年幼的时候,我们恨不得永远让孩子在自己的眼皮子底下,我们担心孩子有一丁点危险. 跟年幼的孩子在外面玩耍的时候,是走在孩子前面还是走在孩子后面?目测大多数父母 ...

  7. 转载:做正确的事情,等着被开除(Do the right thing, Wait to get fired)

    做正确的事情,等着被开除(Do the right thing, Wait to get fired) http://www.vaikan.com/do-the-right-thing-wait-to ...

  8. 交易老手交易老手的最终境界:坚持做正确的事情,不要在乎一笔输赢

    关注公众号:盈时 交易执行的最终境界是要把系统变成条件反射的习惯 在交易的路上,除了训练自己的交易与执行之外,切记不要忘了停下脚步,重新归零的思考.很多的豁然开朗与意外收获的顿悟往往来自于此!更不能为 ...

  9. 如何在UWP应用程序退出时能做一些额外事情?

    如何在UWP应用程序退出时能做一些额外事情? 需求 思路 实现 小结 参考 需求 最近在做UWP的项目,其中有这样一个的需求:统计用户使用APP的时长. 思路 在用户打开app的时候,记录一个时间点t ...

最新文章

  1. python 循环中报错 继续运行_python中列表删除和多重循环退出
  2. qt 信号多个链接槽_Qt原理窥探信号槽的实现细节
  3. 八皇后问题 (信息学奥赛一本通-T1213)
  4. CASS9.1计算土方量实例
  5. 上传图片方法大全 [网摘]
  6. IOS多线程实现多图片下载(一)
  7. HBase 表修复在线方式和离线方式
  8. react-hooks学习笔记
  9. 斐讯k2刷固件记录 版本22.6.512.75(最新2020)
  10. matlab通过带通滤波器代码,设计一个matlab带通滤波器代码
  11. Go程序设计语言 练习题
  12. 9款最新炫酷HTML5/CSS3应用推荐
  13. Nature论文插图复刻第1期—多组柱状图(Part2-456)
  14. 多个无线WIFI路由器之间实现不掉线无缝切换的设置方法
  15. kubeadm升级k8s
  16. protobuf报错:protoc did not exit cleanly. Review output for more information.
  17. 亚马逊的规则你知道多少
  18. pip包离线下载安装(亲测可用)
  19. 基于python编写的RAT(Remote Administration Tool)——Stitch
  20. openlayers实现wfs属性查询和空间查询

热门文章

  1. 吴恩达机器学习笔记55-异常检测算法的特征选择(Choosing What Features to Use of Anomaly Detection)
  2. 03-----数据类型
  3. 一文读懂word embedding
  4. 【转】启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!...
  5. -shape 填充 圆角矩形 圆形 环形
  6. 关于百度分享——bdCustomStyle一点bug
  7. .NET中的IO操作之文件流
  8. 针对ie6的一些小总结
  9. wpf silverlight开发框架(prism)系列教程
  10. 《LeetCode力扣练习》剑指 Offer 15. 二进制中1的个数 Java