C#大神请帮帮忙,为什么上面的程序输出的是右下角的结果谢谢大家伙了!
4个回答
展开全部
每一个Console.WriteLine(),括号里面的部分
?前面的是一个判断语句,如果其值为true,则执行问号后面,冒号前面的部分,如果其值为false,则执行冒号后面的部分,这样可以理解吗?
比如
int x = 1;
int y = x > 0 ? 2 : 0 ;
y的赋首先判断x>0,如果是true,则y=2,否则y=0;
上面的很显然y的值为2。
你的代码里面 问号前面都是返回值为true或者false的语句
比如IsInfinite,IsEmpty,IsVisible,分别是判断对象是否限定,对象是否为空,对象是否隐藏
判断后根据其真值选择输出,理解了吧
另外补充一下,你上面的语句判断分别是
1:Region r区域中的 Graphics对象g是否有限集,结果为true,所以输出-isfinite
2:r中的g对象是否为空,结果为false,所以输出-is non-empty
3:r中的点pf是否可见,结果为ture,所以输出-includes 后面加上不用做判断,都要输出的pf的坐标the point(35.0,50.0)
4:r中的矩形rect是否可见,结果为true,所以选择-is visible 加上后面的固定部分。
展开全部
一共输出5行,第1行不用解释。余下4行:
第2行:输出"-is finite"的原因是,r变量已经被实例化。所以在执行IsInfinite()时,返回的结果就是true了。根据三元运算符的规则,返回的就是"-is finite"了。
第3行:输出"-is non-empty"的原因与上面有些雷同。变量g在最上面同样被实例化了,在堆中已经有它的储存位置了,所以它不是null。因此在执行IsEmpty()方法的时候返回的是false,所以得到的是"-is non-empty"
第4行:判断变量pf是否是有效的,不难看出在上面的声明中已经看到它在执行new操作(实例化该变量)。因此返回的是true,得到的结果就是"-includes"
第5行:借鉴第4行不难看出第5行的结果就是"-is visible in the rectangle shown"。
第2行:输出"-is finite"的原因是,r变量已经被实例化。所以在执行IsInfinite()时,返回的结果就是true了。根据三元运算符的规则,返回的就是"-is finite"了。
第3行:输出"-is non-empty"的原因与上面有些雷同。变量g在最上面同样被实例化了,在堆中已经有它的储存位置了,所以它不是null。因此在执行IsEmpty()方法的时候返回的是false,所以得到的是"-is non-empty"
第4行:判断变量pf是否是有效的,不难看出在上面的声明中已经看到它在执行new操作(实例化该变量)。因此返回的是true,得到的结果就是"-includes"
第5行:借鉴第4行不难看出第5行的结果就是"-is visible in the rectangle shown"。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的程序好像是Form程序吧
输出信息输出到 “输出” 窗口 有什么问题吗?
输出信息输出到 “输出” 窗口 有什么问题吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看不懂,看看是不是 调用错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询