Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.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# 我正在创建一个类的对象,将对象设为null,然后打印对象,它不应该出现异常或什么也不显示。为什么?_C# - Fatal编程技术网

C# 我正在创建一个类的对象,将对象设为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

我正在创建一个类的对象,将对象设为null,然后打印对象,它不应该出现异常或什么也不显示。为什么

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());
    }
}