标签: null-string

C#7使用空检查切换案例

C#7引入了一个名为patterns的新功能,您可以将其与Is-Expression或Switch案例一起使用,如下所示:

string str = null; 
switch(str){
    case string x:
        Console.WriteLine("string " + x);
        break;
    default:
        Console.WriteLine("default");
        break;
}
Run Code Online (Sandbox Code Playgroud)

并且你会期望它会进入#1的情况,因为它是相同的类型,但它没有.

c# pattern-matching switch-statement null-string c#-7.0

7
推荐指数
2
解决办法
1505
查看次数

String.IsNullOrEmpty(myString)vs myString!= null

哪三个在这三个中更好?

string myString = ""; 
String.IsNullOrEmpty(myString);

vs

string myString = "";
if(myString.Length > 0 || myString != null)

vs 

string myString = "";
if (m.Length > 0 | m != null)
Run Code Online (Sandbox Code Playgroud)

前者更清楚,但这些之间有任何性能差异吗?如果字符串从不为空,如果从文本框中取出,可能是空的但不是空的,该怎么办?

c# string null-string

6
推荐指数
1
解决办法
1万
查看次数

JsonConvert.SerializeObject:序列化空值时出现意外结果

在下面的代码行中,string xclInitializer.AVOptions = null值为:时,我最终成为实际字符串"null" :

string x = JsonConvert.SerializeObject(clInitializer.AVOptions, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore});
Run Code Online (Sandbox Code Playgroud)

如实际的单词"null"而不是null值或者也许{}.我不确定这是预期的行为.有谁知道如何让它不返回"null"这个词,或者我对如何JsonConvert运作有一些根本的误解.先感谢您.

c# null json json.net null-string

6
推荐指数
1
解决办法
7430
查看次数

为什么[NullString] :: Value使用断点进行不同的求值?

我在PowerShell ISE和VS Code中尝试了这个代码,结果相同.没有断点,输出是EMPTY,但是在行中有断点"NULL",输出是NULL(如预期的那样).为什么?

function demo {
    param(
        [string] $value = [NullString]::Value
    )

    if ($null -eq $value) {
        "NULL"
    } elseif ($value -eq '') {
        "EMPTY"
    } else {
        "$value"
    }
}

demo
Run Code Online (Sandbox Code Playgroud)

我现在知道,当你对参数使用类型修饰符[string]时,PowerShell总是将非字符串值(例如$ null或[NullString] :: Value)转换为(空)字符串.好吧,我可以忍受这一点,但是如果调试在这种情况下如此奇怪,那么很难自己解决这个问题.

debugging powershell breakpoints null-string

5
推荐指数
1
解决办法
165
查看次数

printf 在分配空字符串时返回 6 而不是 0

为什么函数在将其作为字符串printf分配给它时返回 6 而不是 0 ,尽管它什么也没打印?NULL

int main(void)
{
    int x;
    x = printf("%s", NULL);
    printf ("\n%d", x);
}
Run Code Online (Sandbox Code Playgroud)

输出是:

(null)
6
Run Code Online (Sandbox Code Playgroud)

c printf null-string

0
推荐指数
1
解决办法
93
查看次数