Questions tagged «null»

空取决于上下文,表示“无”或“未知”。对于特定于SQL的问题,请使用“ sql-null”标签。

7
在foreach循环中检查null
有没有更好的方法来执行以下操作: 我需要在进行循环之前检查file.Header是否为null if (file.Headers != null) { foreach (var h in file.Headers) { //set lots of properties & some other stuff } } 简而言之,由于我的代码中出现的缩进级别,在if中编写foreach看起来有点难看。 是可以评估为 foreach(var h in (file.Headers != null)) { //do stuff } 可能?
91 c#  loops  foreach  null 

6
null和System.DBNull.Value有什么区别?
null和System.DBNull.Value之间有什么区别吗?如果是,那是什么? 我现在注意到了这种行为- while (rdr.Read()) { if (rdr["Id"] != null) //if (rdr["Id"] != System.DBNull.Value) { int x = Convert.ToInt32(rdr["Id"]); } } 虽然我使用sql datareader从数据库检索数据,但是没有返回if(rdr["Id"] != null)返回的值true,最终抛出了将null强制转换为整数的异常。 但是,如果我使用if (rdr["Id"] != System.DBNull.Value)return的话false。 null和System.DBNull.Value有什么区别?
91 c#  null  dbnull 


29
测试指针的有效性(C / C ++)
有什么方法可以(当然,通过编程)确定给定的指针是否“有效”?检查NULL很容易,但是0x00001234之类的东西呢?尝试取消引用此类指针时,会发生异常/崩溃。 最好使用跨平台方法,但也可以使用特定于平台的方法(对于Windows和Linux)。 更新说明: 问题不是陈旧/已释放/未初始化的指针;相反,我正在实现一个API,该API接收来自调用者的指针(例如,指向字符串的指针,文件句柄等)。调用者可以发送(有意或无意)无效值作为指针。如何防止车祸?
90 c++  c  validation  pointers  null 

5
JSON是否应包含空值[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 1年前关闭。 改善这个问题 我正在创建一个将结果作为JSON返回的API。当前的最佳实践是,当值为null时是否应在结果中包括键吗?例如: { "title":"Foo Bar", "author":"Joe Blow", "isbn":null } 要么 { "title":"Foo Bar", "author":"Joe Blow" } 由于第二个较小,因此我倾向于这种样式,但是我不确定是否有首选样式。从客户的角度看,这两种样式在功能上似乎是等效的。每个都有优点或缺点吗?

8
检查值是否设置为null
我需要检查value是否定义为任何东西,包括null。isset将null值视为undefined并返回false。以以下为例: $foo = null; if(isset($foo)) // returns false if(isset($bar)) // returns false if(isset($foo) || is_null($foo)) // returns true if(isset($bar) || is_null($bar)) // returns true, raises a notice 请注意,这$bar是未定义的。 我需要找到满足以下条件的条件: if(something($bar)) // returns false; if(something($foo)) // returns true; 有任何想法吗?
88 php  null  isset 


5
我们应该如何管理jdk8流中的空值
Java开发人员大家好, 我知道这个主题可能有点,in advance因为JDK8尚未发布(无论如何现在还没有。),但是我正在阅读一些有关Lambda表达式的文章,尤其是与与称为Stream的新集合API相关的部分。 这是《Java杂志》文章中给出的示例(这是一种水獭种群算法。): Set<Otter> otters = getOtters(); System.out.println(otters.stream() .filter(o -> !o.isWild()) .map(o -> o.getKeeper()) .filter(k -> k.isFemale()) .into(new ArrayList<>()) .size()); 我的问题是,如果在Set内部迭代的中间,水獭之一为null,会发生什么情况? 我希望抛出NullPointerException,但也许我还是停留在以前的开发范例(非功能性)中,有人可以启发我,因为应该如何处理? 如果这确实引发了NullPointerException,则我认为该功能非常危险,必须仅按以下方式使用: 开发人员确保没有null值(也许使用以前的.filter(o-> o!= null)) 开发人员确保应用程序永远不会生成空水獭或特殊的NullOtter对象来处理。 最佳选择是什么,或其他任何选择? 谢谢!


9
在.NET中应该为null的哈希码始终为零
给定像System.Collections.Generic.HashSet<>接受这样的集合null作为集合成员,就可以问它的哈希码null应该是什么。看起来框架使用0: // nullable struct type int? i = null; i.GetHashCode(); // gives 0 EqualityComparer<int?>.Default.GetHashCode(i); // gives 0 // class type CultureInfo c = null; EqualityComparer<CultureInfo>.Default.GetHashCode(c); // gives 0 对于可为空的枚举,这可能会(有一点)问题。如果我们定义 enum Season { Spring, Summer, Autumn, Winter, } 那么Nullable<Season>(也称为Season?)只能使用五个值,但是其中两个(null和Season.Spring)具有相同的哈希码。 编写这样的“更好”的相等比较器很诱人: class NewNullEnumEqComp<T> : EqualityComparer<T?> where T : struct { public override …
87 c#  .net  hash  null 


3
如何在Bash case语句中测试空字符串?
我有一个Bash脚本,该脚本根据变量的值执行操作。case语句的一般语法为: case ${command} in start) do_start ;; stop) do_stop ;; config) do_config ;; *) do_help ;; esac 如果没有提供命令,并且do_help命令无法识别,我想执行默认例程。我试图这样省略大小写值: case ${command} in ) do_default ;; ... *) do_help ;; esac 我认为结果是可预测的: syntax error near unexpected token `)' 然后我尝试使用正则表达式: case ${command} in ^$) do_default ;; ... *) do_help ;; esac 这样,一个空洞便${command}落到了*箱子上。 我在尝试做不可能的事吗?
87 string  bash  null  case 

9
什么是“ NoneType”对象?
运行python脚本时出现此错误: TypeError: cannot concatenate 'str' and 'NoneType' objects 我很确定'str'是字符串,但是我不知道'NoneType'对象是什么。我的脚本在第二行开始,我知道第一个行之有效,因为该行的命令符合我的期望。起初我以为可能是因为我在send_command中使用了变量和用户输入。 “ CAPS”中的所有内容都是变量,“小写”中的所有内容都是从“ parser.add_option”选项输入的。 我正在使用pexpect和optparse send_command(child, SNMPGROUPCMD + group + V3PRIVCMD) send_command(child, SNMPSRVUSRCMD + snmpuser + group + V3AUTHCMD + snmphmac + snmpauth + PRIVCMD + snmpencrypt + snmppriv)
87 python  null  nonetype 


14
Java“?” 用于检查null的运算符-这是什么?(不是三元!)
我正在阅读一篇与slashdot故事相关的文章,发现了这个小窍门: 以Java的最新版本为例,该版本试图通过提供无穷指针测试的简写语法来简化空指针检查。只需在每个方法调用中添加一个问号,就会自动包括对空指针的测试,从而替换了鼠的if-then语句的嵌套,例如: public String getPostcode(Person person) { String ans= null; if (person != null) { Name nm= person.getName(); if (nm!= null) { ans= nm.getPostcode(); } } return ans } 有了这个: public String getFirstName(Person person) { return person?.getName()?.getGivenName(); } 我搜寻了互联网(好吧,我花了至少15分钟的时间在“ java问号”上搜索了各种变体),但一无所获。所以,我的问题是:是否有任何官方文件?我发现C#有一个类似的运算符(“ ??”运算符),但是我想获取我正在使用的语言的文档。或者,这仅仅是对我使用的三元运算符的使用从没见过。 谢谢! 编辑:链接到文章:http : //infoworld.com/d/developer-world/12-programming-mistakes-avoid-292
86 java  syntax  null 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.