如果变量中的值为null,是否可以测试变量是否定义为字符串?
如果我写:
string b = null;
bool c = b is string;
然后c将为false,因为 is 查看内容,该内容为null,而不是字符串。
如果我写:
string b = null;
bool c = (b.GetType() == typeof(string));
然后它就崩溃了,因为s是空的,所以不能对空值调用GetType()。
那么,我如何检查b来确定它是哪种类型呢?可能是某种反射?还是有更简单的方法?
编辑1:问题的澄清!
我的问题有点不清楚,这是我的错。在这个例子中,我似乎是在尝试测试变量
让我们假设我用C#编写了公共API:
public void Method(object param)
{
if(param == null)
{
throw new ArgumentNullException("Specified 'param' can not be null");
}
// ... other business logic
}
我想知道,如果我有不为空的参数(对象),是否可以保证不需要检查参数是否为空的值?()作为方法参数?换句话说,上面的示例是否检查空冗余?
我只是在写
document.createElement("img").complete;//To check whether image is loaded or not
在Firefox中,它返回true。在IE中,它返回false
或
在html页面中,只需创建一个图像如下:
<!-- IMG tag with no SRC attribute. -->
<img id="noSrcImg" />
在js中,检查完整的属性值:
var img = document.getElementById("noSrcImg"
我遵循了一个教程,该教程建议检查对象是否为字符串且不为空,如下所示:
var s = "text here";
if ( s && s.charAt && s.charAt(0))
据说如果s是string,那么它有一个方法charAt,然后最后一个组件将检查字符串是否为空。
我尝试使用其他可用的方法(如typeof和instanceof ),使用一些、和来测试它
因此,我决定在Js Bin:中测试它,如下所示:
var string1 = "text here";
var string2 = "";
aler
很抱歉,这可能是一个非常愚蠢的javascript问题(我来自cpp/java背景),但我找不到答案。我正在编写一个js片段,它需要检查响应头是否存在。我就是这样做的:
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "NewServlet", false);
xhttp.send();
var name = xhttp.getResponseHeader("name");
if (name === "null") {...}
现在这个“空”的部分我觉得是完全错误的。实际上,
在我的脚本中,我有这样的内容
my $region = $self->Functiontofind( $tag );
my $value1 = $region->getValue1;
my $value2 = $region->getValue2;
$region是一个对象,在某些情况下,$region可能是空的,也就是说,如果标签是空的,我想检查一下这个对象是否为空。我们怎么能做到这一点。
if (defined ($region))似乎不起作用。
谢谢,
我尝试创建一个函数来确定列表列表是否为空列表。不过,到目前为止,我似乎还没有找到任何运气。到目前为止,我已经尝试使用:hasEmpty (x:xs) = if null x then True else False,但是,只有当第一个列表为空时才返回true。我也尝试过:hasEmpty (x:xs) = if null x || null xs then True else False,但是它产生了相同的结果。我也尝试过使用、any和elem,但是我无法让它工作。我真的对此感到困惑。任何帮助都将不胜感激。
我在Javascript中有一个JSON对象,如下所示:
var myjson={"name":"myname","address":"Myaddress"}
// if my json is not empty:
//do something
我想知道对象是否为空,即是否存在任何键。我如何在Javascript中做到这一点?
通过谷歌搜索一无所获,但由于出现了如此多的垃圾(无关)信息,很难说该搜索什么。
这是如何工作的(包括删除一个键),有什么官方参考吗?或者我应该与谷歌搜索(对我来说没有闪光的东西)作斗争,
我有一份原始文件:
message Group {
string name = 1;
string id = 2;
}
生成代码(使用Grpc.Tools)为设置名称/id提供了如下代码:
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string Name {
get { return name_; }
set {
name_ = pb