关键词:
【中文标题】如何传递有时为空的参数?【英文标题】:How can I pass args that are sometimes null? 【发布时间】:2013-01-20 16:10:47 【问题描述】:在此事件处理程序中:
public static void geolocator_PositionChanged(Geolocator sender, PositionChangedEventArgs args)
DateTimeOffset timeStampUTC = args.Position.Coordinate.Timestamp.ToUniversalTime();
DateTimeOffset timeStampLocal = timeStampUTC.LocalDateTime;
DateTimeOffset dateTimeStampUTC = timeStampUTC.DateTime;
RecordLocation(args.Position.Coordinate.Latitude, args.Position.Coordinate.Longitude,
args.Position.CivicAddress.City, args.Position.CivicAddress.State, dateTimeStampUTC, timeStampLocal);
...我得到一个Null Reference Exception
,因为args.Position.CivicAddress
是null
(传递给RecordLocation()
的其余参数是有效的)。我认为有时位置会是null
,有时不会。我该怎么做才能让找不到城市或州的时代有增无减?我试图让RecordLocation()
的定义中的那些字符串可以为空,但这不会编译。
我是否需要检查 CivicAddress 是否为 null 并创建我的 RecordLocation()
方法的重载版本,还是有其他方法来处理这个问题?
【问题讨论】:
【参考方案1】:我该怎么做才能让找不到城市或州的时代有增无减?
你只需要检查一下。例如:
if (args.Position != null && args.Position.CivicAddress != null)
// Now you can use args.Position.CivicAddress.State safely
如果你想用args.Position
做很多事情,你很可能想要一个“外部” if 语句——很可能用一个局部变量来简化事情:
var position = args.Position;
if (position != null)
if (position.CivicAddress != null)
// Use properties of position.CivicAddress
// Assuming Coordinate is nullable to start with, of course...
if (position.Coordinate != null)
// ...
【讨论】:
为可为空的函数参数提供“null”时如何使用默认值?
】为可为空的函数参数提供“null”时如何使用默认值?【英文标题】:Howtousedefaultvaluewhen`null`isgivenforanullablefunctionparameter?【发布时间】:2018-01-0109:16:48【问题描述】:在PHP7.1中调用以下函数时:privatefunctiondoStuff(?int$limit=999)语... 查看详情
通过传递多个可为空的值从数据库中过滤数据
】通过传递多个可为空的值从数据库中过滤数据【英文标题】:Filterdatafromdatabasebypassingmultiplenullablevalues【发布时间】:2021-07-0414:47:33【问题描述】:我有一个包含n个列的表,我想按n个可空参数过滤数据,如果else条件有任何方... 查看详情
如何将“任何不可为空的类型”指定为泛型类型参数约束?
】如何将“任何不可为空的类型”指定为泛型类型参数约束?【英文标题】:HowdoIspecify"anynon-nullabletype"asagenerictypeparameterconstraint?【发布时间】:2019-12-1114:39:58【问题描述】:这篇文章是针对C#8的。假设我想要这个方法:... 查看详情
Laravel 验证中有时和可为空的区别
】Laravel验证中有时和可为空的区别【英文标题】:DifferencesbetweensometimesandnullableinLaravelvalidation【发布时间】:2021-09-0208:06:43【问题描述】:假设我可以通过两种方式进行验证\'active\'=>\'sometimes\',和\'active\'=>\'nullable\',有什么... 查看详情
指定为非空的参数为空:无法更新 Spring Boot jpa 中的单个实体字段。导致指定为非空的参数为空
】指定为非空的参数为空:无法更新SpringBootjpa中的单个实体字段。导致指定为非空的参数为空【英文标题】:Parameterspecifiedasnon-nullisnull:Can\'tUpdateindividualEntityfieldinSpringBootjpa.CausedParameterspecifiedasnon-nullisnull【发布时间】:2021-06-01... 查看详情
函数分配一个不为空的参数
】函数分配一个不为空的参数【英文标题】:Functionassignaparameterthatisn\'tnull【发布时间】:2014-05-2503:26:48【问题描述】:这是我上一个问题的后续问题。Runafunctionwithoutaparameterbutneededavariableoutsideofthefunction-PHP我收到了这个答案funct... 查看详情
IllegalArgumentException:指定为非空的参数为空
】IllegalArgumentException:指定为非空的参数为空【英文标题】:IllegalArgumentException:Parameterspecifiedasnon-nullisnull【发布时间】:2017-12-0617:38:21【问题描述】:我收到以下运行时错误:checkParameterIsNotNull,parameteroneClickTokensatcom.info.app.fragm... 查看详情
空值的传递后判断为空的问题.
当前台将一个null空值传输到后台,将会变成一个String的”null”,而后台通过接口传入到另一个系统后台后将会在进行一次封装(传输的值都未经处理),另一个系统要判断传过来是否为空:StringUtils.isEmpty(值)和StringUtils.isNotEmpty(值)进行... 查看详情
使用带参数方式新增或修改可为空的非字符串类型数据到oralce数据库(代码片段)
有时候没有使用orm框架,手工编写或者代码生成器生成的带参数的insert语句时,比如///<summary>///增加一条数据///</summary>publicstaticboolAdd(Model.IMGINFOmodel)StringBuilderstrSql=newStringBuilder();strSql.Append("insertintoIMGINFO 查看详情
ASP.NET WebApi HttpPost 参数始终为空
...述】:我正在尝试通过webapimicrosoft应用程序中的post请求传递对象的参数,但传递的参数始终为null。这是我的post方法的控制器,在调试中程序到达了方法但是dataUrlIN.url字符串总是空的[HttpPost 查看详情
柯里化函数的实现(代码片段)
...习过程:柯里化通常也称部分求值,其含义是给函数分步传递参数,每次传递参数后部分应用参数,并返回一个更具体的函数接受剩下的参数,这中间可嵌套多层这样的接受部分参数函数,直至返回最后结果。如果要实现下面这... 查看详情
Spring数据JPA和可以为空的参数
】Spring数据JPA和可以为空的参数【英文标题】:SpringdataJPAandparametersthatcanbenull【发布时间】:2015-07-2500:23:06【问题描述】:我的理解是,使用SpringdataJPA,我无法使用查询方法来获取列等于给定非空方法参数的所有行,并使用相... 查看详情
Play Framework bindFromRequest() 方法返回参数为空的对象
】PlayFrameworkbindFromRequest()方法返回参数为空的对象【英文标题】:PlayFrameworkbindFromRequest()methodreturnsobjectswithnullparameters【发布时间】:2017-06-0516:27:13【问题描述】:我是Play新手!所以我正在尝试创建一个非常基本的发布请求,将... 查看详情
GET 参数为空,即使我正在传递一个值 [重复]
...alue[duplicate]【发布时间】:2018-08-0701:44:39【问题描述】:如何让以下代码工作?Stringd=request.getParameter("bday");GET参数为空值,但我在此处存储html日期选择器,即使我正在传递一个值Extra_User.jsp< 查看详情
Spring(kotlin)控制器接收数据类的不可为空的参数为空
】Spring(kotlin)控制器接收数据类的不可为空的参数为空【英文标题】:Spring(kotlin)controllerreceivesnon-nullableparametersofadataclassasnull【发布时间】:2019-04-0908:21:14【问题描述】:我遇到了一个我不知道如何处理的意外错误。我有一个... 查看详情
springboot接收get请求个别参数可能为空的解决方案
参考技术A假如参数a是一个非必传参数,可以为空解决方案:指定多个匹配路径,并设置相应参数为非必须。上面的路由就可以拆分为: 查看详情
测试批处理文件中参数是不是为空的正确方法是啥?
】测试批处理文件中参数是不是为空的正确方法是啥?【英文标题】:Whatistheproperwaytotestifaparameterisemptyinabatchfile?测试批处理文件中参数是否为空的正确方法是什么?【发布时间】:2011-02-0206:17:00【问题描述】:我需要测试是否... 查看详情
sqlserver2012存储过程参数传递null值,如何判定这个参数是null
存储过程写if@paraisnullBeginselect语句条件相当于where1=1EndelseSelect语句为什么参数传递null值时没有返回任何结果,print@para也是空,参数给定一个之正常.不能用@paraisnull或者isnull(@para,'')=''还能用什么方法判定@para是传递null... 查看详情