Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否只有在断言失败时才有方法计算断言的第二个参数?_C# - Fatal编程技术网

C# 是否只有在断言失败时才有方法计算断言的第二个参数?

C# 是否只有在断言失败时才有方法计算断言的第二个参数?,c#,C#,对不起,这个问题很明显。有没有一种方法可以使代码在没有if语句(或其缩写形式)的情况下正常工作?我使用ToString()仅用于演示。a、 b可以是自定义的可为空类型,并在Assert的第二个参数中调用自定义方法 String a = ""; String b = null; Assert.IsNotNull(a, "b is" + b.ToString()); 您可以使用,它接受带参数的字符串:

对不起,这个问题很明显。有没有一种方法可以使代码在没有if语句(或其缩写形式)的情况下正常工作?我使用
ToString()
仅用于演示。a、 b可以是自定义的可为空类型,并在Assert的第二个参数中调用自定义方法

                String a = "";
                String b = null;

                Assert.IsNotNull(a, "b is" + b.ToString());
您可以使用,它接受带参数的字符串:

Assert.IsNotNull(a, "b is {0}", b);

你能解释一下你想发生什么吗?你不能要求我们告诉你如何使非法代码工作。您想要实现什么?您可能正在寻找类似null条件运算符
b?.ToString()
?您能回答我的问题吗?我想知道你在问什么。@Enigmativity我想检查a是否为空,只有当它为真时,我想调用b.ToString()。设想一下,Assert的工作原理与Assert的正常顺序计算类似。@elgonzo看起来很有效。如果你建议这个答案,我会接受。ToString()仅用于演示。a、 b可以是自定义的可为null的类型,并在Assert try的第二个参数中调用自定义方法:
Assert.IsNotNull(a,“b是{0}”,b.ToString())