私はPreamble: what is a reference type?に従っています。最初の例では、次のコードがあります。Console.WriteLine()は、オブジェクトを文字列に変換する方法をどのように知っていますか
using System;
using System.Text;
public class Example1
{
public static void Main (string[] args)
{
StringBuilder first = new StringBuilder();
StringBuilder second = first;
first.Append ("hello");
first = null;
Console.WriteLine (second);
}
}
そして、それは、クラス(または構造体)のソースコードを提供しないのStringBuilderのを、私はConsole.WriteLineを(秒)を返すことができるのか分かりません識別子を使用するだけで文字列値を返します。コンストラクタで値を返すことは可能ですか?
私は、次の(と、それは動作しません)によってクラスまたは構造体を書き込もうとしました:
struct StringBuilder
{
private string _myString;
public string StringBuilder
{
get { return _myString; }
set { _myString = value; }
}
public void Append(string str)
{
_myString = str;
}
}
のStringBuilderがSystem.Textの名前空間で定義されています
今、あなたのオブジェクトの文字列値は、その値になります。なぜ私はそれを再定義しようとしているのか分かりません。プログラムでSystem.Text名前空間を使用するため、おそらく名前の衝突が発生します。何があなたのためにはうまくいかないのですか? –
@EricJ。私は.NETとC#の新機能で、StringBuilderが.NETクラスであることを知らなかった。この例を読んで、私はクラスを書くことを試みました。とにかく、私はまだStringBuilderのオブジェクトをToString()メソッドを呼び出さずに印刷できるかどうか不思議です。 – KMC