问题标签 [isnullorempty]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
787 浏览

c# - 我可以安全地忽略 CodeAnalysis 警告:用 string.IsNullOrEmpty 替换 string == "" 吗?

我有类似这样的代码:

如果 s 等于 "",则应该调用 foo。如果 string 为 null,这永远不会发生,那么 NullReferenceException 就可以了(因为这毕竟是一种例外情况)。

CodeAnalysis 告诉我测试 s.IsNullOrEmpty。这会以意想不到的方式改变功能。

性能不是问题。

抑制相关的 CA1820 警告是否安全?

编辑:更新代码示例和文本以更好地反映我的情况。

编辑:这是(稍微改变的)实际代码(它在标准的 IXmlSerializable 实现中):

0 投票
10 回答
15089 浏览

c# - C# String.IsNullOrEmpty:好还是坏?

在工作中我将 String.IsNullOrEmpty 与 Session 变量一起误用后,我的一个同事现在拒绝接受我对 String.IsNullOrEmpty 的使用。经过一番研究,显然在 MSDN 上列出了 IsNullOrEmpty 的错误(链接)(阅读底部的注释):

截至 2006 年 4 月 4 日,存在一个错误(可能在 JIT 中),当启用优化时,该错误会导致此方法失败。众所周知,它会影响 C# 和 VB。

更多信息可以在这里找到(链接)。微软这个错误“据说”是在 Orcas 之后修复的,但不幸的是我的雇主仍然使用 VS2005。但如果问题在 2008+ 年得到解决,那就这样吧。这对我来说很好。

虽然我的同事拒绝我的 IsNullOrEmpty 代码对我来说是盲目的无知 (IMO),但他当然不能告诉我为什么使用它,而不是滥用 session 变量。我在整个代码中都使用了 IsNullOrEmpty,没有任何问题。就个人而言,除了在一个语句中做两件事之外,我发现它更具可读性。

在谷歌上搜索有关该主题的意见后,我发现了采取赞成/反对立场的网站。以下是我读过的一些网站:

https://blog.rthand.com/post/2006/06/22/1063.aspx

http://www.omegacoder.com/?p=105

一个站点(http://dotnetperls.com/isnullorempty)很好地总结了该方法(恕我直言):

在这里,我们查看了字符串类型的 IsNullOrEmpty 方法,它为我们提供了一种很好且相对有效的方法来检查字符串是否可以保存或使用。但是,出于性能考虑,使用手动空值检查可能会更好。空字符串也可以通过其他方式进行测试,我这里的研究表明检查长度是最快的。

假设错误修复在 VS2008/2010/等中已经到位(并且工作正常),是否有任何理由将 String.IsNullOrEmpty 与 VS2005 及更高版本一起使用?我意识到这对于这种愚蠢的小方法来说似乎有点矫枉过正,但我​​想知道幕后是否还有更多的事情发生,以及是否有人有其他解释。

0 投票
4 回答
147747 浏览

sql - SQLite 选择哪里为空?

在 SQLite 中,如何选择some_column空的记录?
空算作NULL""

0 投票
4 回答
9589 浏览

c# - string.IsNullOrEmpty() 似乎不适用于类中的类中的字符串

首先,我想我知道发生了什么,但我想我会在这里提出这个问题进行讨论,看看是否有人对此有“答案”,而不是我的想法。因为,这对我来说并不完全有意义。

我发现在为异常创建错误日志时,我正在这样做并且它不起作用:

你瞧,当我运行它时,我经常会得到一个 NullReferenceException。嗯?

我正在检查null,对吗?

现在,我必须使用这个:

但这似乎违反直觉,也适得其反。因为,见鬼,如果我这样做:

这根本不会给我带来任何问题。如果 ex.InnerException 为 null,那么 ex.InnerException.Message 肯定为 null,对吗?

显然不是。

我编写了一个完整的控制台应用程序来重现这一点。如果你

我认为正在发生的是代码在尝试处理 IsNullOrEmpty 之前处理 ex.InnerException.Message。由于 ex.InnerException 为空,我们在尝试访问 ex.InnerException.Message 时遇到异常。

我想知道,我需要完整的检查吗?ex.InnerException != null 是否足够。如果我们有一个内部异常,我们是否总是有与之关联的消息?

谢谢。

0 投票
8 回答
47178 浏览

javascript - JavaScript 中的“IsNullOrWhitespace”?

是否有与 .NET 等效的 JavaScript,String.IsNullOrWhitespace以便我可以检查客户端上的文本框是否有任何可见文本?

我宁愿先在客户端执行此操作,也不愿回发文本框值并仅依赖服务器端验证,即使我也会这样做。

0 投票
4 回答
787 浏览

.net - .NET 内置函数,结合了 String.IsNullOrEmpty 和 String.IsNullOrWhiteSpace

.NET 中是否有结合 String.IsNullOrEmpty 和 String.IsNullorWhiteSpace 的内置函数?

我可以轻松编写自己的,但我的问题是为什么没有 String.IsNullOrEmptyOrWhiteSpace 函数?

String.IsNullOrEmpty 是否首先修剪字符串?也许更好的问题是,String.Empty 是否符合空白?

0 投票
2 回答
5109 浏览

c# - IsNullorEmpty combobox.selectedvalue

我正在尝试将一个 combobox.selectedValue 设置为一个有效的字符串,但是当它的 nullorempty 时它会出错。我尝试了以下代码无济于事:

组合框是数据绑定的,但理论上它在某些情况下可能是空的,我需要能够在那些时候传递其他值。任何帮助都会很棒。

0 投票
0 回答
901 浏览

arrays - 为什么没有 Array.IsNullOrEmpty() 方法?

谁能指出没有 a 的原因System.Array.IsNullOrEmpty(System.Array value),就像有 a 一样System.String.IsNullOrEmpty(System.String value)

我知道您可以轻松地将其定义为扩展方法,但随后语法变为somearray.IsNullOrEmpty()而不是Array.IsNullOrEmpty(somearray). 有什么办法可以克服这个吗?

0 投票
3 回答
1378 浏览

c# - ?? system.DBNull 中的运算符

是否有一个运算符或内置函数来简化这一点:

我知道我可以做类似的事情:

但我有很多对象,我想避免它:

我还可以创建一个函数:

最简单的方法是使用 ?? 运算符,但问题是 'dataColumn' 与 ?? 不兼容 因为有时会返回 system.DBNull 而不是 null。查看立即窗口输出:

我想知道是否有一些(字符串)函数或运算符可以返回“-”如果 dataColumn.toString()=="" 没有 if..then (因为我必须为所有这些. 否则我宁愿使用上面显示的函数方法。

0 投票
6 回答
266498 浏览

c# - 如何在 C# 中检查字符串变量是否为空或 null?

如何检查 C# 变量是空字符串""还是 null?

我正在寻找进行此检查的最简单方法。我有一个可以等于""或为空的变量。是否有一个函数可以检查它是否为""空?