C#小游戏

Forty2 2016-08-29 09:13:59

代码很简单,单项选择A,B,C,能附上理由更佳。
请尽量回答后再上机验证:)

class Program
{
static void Main()
{
int a = 1, b = 2, c = 3;
System.Console.WriteLine("{0} {1}", a < b, c > (1 + 1) * 1.5, a, b, c);
}
}

/*
A: true false
B: true true
C: Visual Studio不知道如何编译。
*/
...全文
516 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Forty2 2016-08-30
  • 打赏
  • 举报
回复
谢谢朋友们的参与。 答案是C,原因确如大家所讨论的,是泛型语法(大于号,小于号)造成的歧义,导致VS编译错误。 把a < b, c > (1 + 1) * 1.5 解释为泛型函数调用的例子如下:
class Program
{
    static void Main()
    {
        Console.WriteLine("{0} {1}", a<b, c>(1 + 1) * 1.5, "");  // 输出 30
    }

    static double a<T1, T2>(double d) { return 20; }
    class b { }
    class c { }
}
注一、 答案C也不是绝对准确。DotNet1.1还不支持泛型, Visual Studio .NET 2003可以通过编译并运行出答案A。 注二、 微软早知道该歧义(C++也有类似问题)。因为出现歧义的概率很小,而且可以用编译器来抱怨,他们还是选用了(大于号,小于号)作为泛型语法标志。
dianjixue1 2016-08-30
  • 打赏
  • 举报
回复
原来结果是这样。3#,5#已将答案贴出......
HerveyHall 2016-08-29
  • 打赏
  • 举报
回复
学习到了
xian_wwq 2016-08-29
  • 打赏
  • 举报
回复
实践证明要确保表达式的正确性,()非常重要
  • 打赏
  • 举报
回复
好吧。。。。。居然是无法编译…… 看来编译器判断泛型的优先级比较高
bigbaldy 2016-08-29
  • 打赏
  • 举报
回复
b和c被当成泛型参数了
  • 打赏
  • 举报
回复
A a<b这个不难理解,c > (1 + 1) * 1.5这个是整形与double型比较,整形会被强转为double型,而在强转后,一般会出现精度问题,即丢失精度,进而导致比同等值的double小,最终又回到了double比较方式是 Math.Abs(c- (1 + 1) * 1.5)<0.0001这种小于指定精度就认为正确的解决方案上来
xuzuning 2016-08-29
  • 打赏
  • 举报
回复
C a < b, c > (1 + 1) * 1.5 < b, c > 被解释成了类型声明 编译器将其理解为在执行 a<b, c> (1 + 1) 方法 写作
System.Console.WriteLine("{0} {1}", (a < b), c > (1 + 1) * 1.5, a, b, c);
即可
巴士上的邂逅 2016-08-29
  • 打赏
  • 举报
回复
歧义句
夏天的枫 2016-08-29
  • 打赏
  • 举报
回复
引用 2 楼 hjq624779687 的回复:
我把a<b改成了(a<b),结果是True Flase
按照原来的写法会报错。。。VS把a<b,c>看成一个单元了。
夏天的枫 2016-08-29
  • 打赏
  • 举报
回复
我把a<b改成了(a<b),结果是True Flase
巴士上的邂逅 2016-08-29
  • 打赏
  • 举报
回复
哈哈,竟然会这样!!
crystal_lz 2016-08-29
  • 打赏
  • 举报
回复
差点就上当选A了。。。。。。。。
Poopaye 2016-08-29
  • 打赏
  • 举报
回复
选项应该这样写 A: true true B: true false C: false true D: false false
Poopaye 2016-08-29
  • 打赏
  • 举报
回复
我选c
内容概要:本文围绕“基于超局部模型与自抗扰ESO观测器的无模型预测电流控制改进策略”展开研究,提出一种结合超局部模型(ULM)与扩张状态观测器(ESO)的无模型预测电流控制(MFPCC)改进方法,旨在提升永磁同步电机(PMSM)电流环的动态响应性能与抗干扰能力。该策略利用超局部模型对系统行为进行局部逼近,避免依赖精确数学模型,同时引入自抗扰控制中的ESO实时观测并补偿系统内外部扰动,有效抑制参数摄动、负载变化及模型不确定性带来的影响。研究通过Simulink搭建完整的控制系统仿真模型,对传统MFPCC与所提改进策略进行对比分析,验证了新方法在电流跟踪精度、响应速度和鲁棒性方面的优越性。; 适合人群:具备电机控制、现代控制理论及Simulink仿真基础的电气工程、自动化及相关专业的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于高性能电机驱动系统中电流环控制器的设计与优化;②为无模型控制与自抗扰控制的融合应用提供技术参考;③支撑相关课题的仿真验证、论文复现与创新方法研究。; 阅读建议:建议读者结合Simulink仿真模型深入理解控制结构与参数整定过程,重点关注ESO的观测性能与扰动补偿机制,并可通过改变负载条件、参数偏差等工况进行鲁棒性测试,进一步掌握该改进策略的核心优势与适用边界。

111,132

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧