编译中出现“检测到无法访问的代码”

dyiajure 2009-03-10 09:07:23
就是这个函数
public LatLon(Angle latitude, Angle longitude)
{
if (latitude == null || longitude == null)
{
throw new ArgumentException("The property can not be null!");
}
this.Latitude = latitude;
this.Longitude = longitude;
}
红色的行出现上述问题,请教是怎么回事?
...全文
419 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gongqingshuai 2010-05-12
  • 打赏
  • 举报
回复
学习, 学习
dyiajure 2009-03-10
  • 打赏
  • 举报
回复
明白了,结贴
ShinNakoruru 2009-03-10
  • 打赏
  • 举报
回复
因为值引用类型不能为null,所以你的程序相当于


if(false){
do something...
}


肯定会出现警告的。

即使在C++,int型也不可能出现null,因为对于int来说,null就是整数0,所谓的null只是空指针而已。
dyiajure 2009-03-10
  • 打赏
  • 举报
回复
哦,谢谢,基础很混乱,c++中好像可以为null吧
chinesesword 2009-03-10
  • 打赏
  • 举报
回复
值类型主要由两类组成:

结构

枚举


于引用类型不同,值类型不可能包含 null 值。然而,可空类型功能允许将 null 赋给值类型。
pztx1992 2009-03-10
  • 打赏
  • 举报
回复
那也不应该是这个错误啊!
值类型可以赋予为Null吗?

public LatLon(Angle latitude, Angle longitude)
修改成: public LatLon(Angle? latitude, Angle? longitude) 或用用字段为0判断。


ShinNakoruru 2009-03-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dyiajure 的回复:]
引用 5 楼 chinesesword 的回复:
贴 一下你的这个Angle 类

回5楼
public struct Angle
{
public double Radians;
public double Degrees;

}
[/Quote]

结构是值引用,传进来的决不会是null
dyiajure 2009-03-10
  • 打赏
  • 举报
回复
回6楼和8楼,是结构
dyiajure 2009-03-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chinesesword 的回复:]
贴 一下你的这个Angle 类
[/Quote]
回5楼
public struct Angle
{
public double Radians;
public double Degrees;

}
pztx1992 2009-03-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 kkun_3yue3 的回复:]
如果Angle 是值类型的,那么就永远不会为null
[/Quote]

估计楼主类型很可能是结构
dyiajure 2009-03-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wolf1118baby 的回复:]
因为你throw了对象 一下的代码就不再执行了,所以 就有无法访问的代码!
[/Quote]
回四楼,是throw无法执行,不是以下的代码
kkun_3yue3 2009-03-10
  • 打赏
  • 举报
回复
如果Angle 是值类型的,那么就永远不会为null
chinesesword 2009-03-10
  • 打赏
  • 举报
回复
贴 一下你的这个Angle 类
wolf1118baby 2009-03-10
  • 打赏
  • 举报
回复
因为你throw了对象 一下的代码就不再执行了,所以 就有无法访问的代码!
dyiajure 2009-03-10
  • 打赏
  • 举报
回复
Angle类型有null的可能啊
jixuesong 2009-03-10
  • 打赏
  • 举报
回复
我以前也遇到过这中情况,不知道怎么回事,学习中
帮你顶
chinesesword 2009-03-10
  • 打赏
  • 举报
回复
latitude longitude 有==等于null的可能么?

110,534

社区成员

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

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

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