C# 我正在创建一个类的对象,将对象设为null,然后打印对象,它不应该出现异常或什么也不显示。为什么?
我正在创建一个类的对象,将对象设为null,然后打印对象,它不应该出现异常或什么也不显示。为什么C# 我正在创建一个类的对象,将对象设为null,然后打印对象,它不应该出现异常或什么也不显示。为什么?,c#,C#,我正在创建一个类的对象,将对象设为null,然后打印对象,它不应该出现异常或什么也不显示。为什么 class A { } Main() { A obj=new A(); obj=null; Console.Write(obj); } Console.Write是: 因此,当您传递null值时,不会写入任何内容,并且不会为对象调用ToString方法。因此也不例外 ToString在控制台中调用对象的实现。Write/WriteLine,如果传递的对象为null,则可能引发nu
class A
{
}
Main()
{
A obj=new A();
obj=null;
Console.Write(obj);
}
Console.Write
是:
因此,当您传递null
值时,不会写入任何内容,并且不会为对象调用ToString
方法。因此也不例外
ToString
在控制台中调用对象的实现。Write/WriteLine
,如果传递的对象为null
,则可能引发null引用异常。这就是为什么如果(value!=null)在方法的条目中检查传递的值的原因 现在还不清楚你在问什么。你正在将null
发送到控制台-你希望看到什么?@MaurícioLinhares我在创建类的对象后要求的是,如果我给该对象分配null值并打印它,会发生什么,我会得到什么输出?你可以尝试并要求控制台。Write(null);代码>:)现在我明白了,谢谢你。。!
// Writes the text representation of an object to the text stream. If the
// given object is null, nothing is written to the text stream.
// Otherwise, the object's ToString method is called to produce the
// string representation, and the resulting string is then written to the
// output stream.
//
public virtual void Write(Object value) {
if (value != null) {
IFormattable f = value as IFormattable;
if (f != null)
Write(f.ToString(null, FormatProvider));
else
Write(value.ToString());
}
}