2016-05-01 11 views
0

私はツリーを順番に表示しているようですが、現在私に与えているものではなく、テキストボックスに国名を表示したいと思います。コード私は現在、この問題に関連しています。 FYIは、読み込まれたファイルからツリーを作成します。InOrder AVLTtree内のクラスを名前でテキストボックスにソートする

アルゼンチン、オーストラリア、ブラジルなどのテキストボックスに入力しますが、現在は「FormWork.Country、FormWork.Countryなど」があります。彼らが正しい名前であることを示すAutosショーで彼らを見ると、名前だけを返さないだけです。

これはForm1.csを

public partial class Form1 : Form 
{ 
AVLTree<Country> countryTree = new AVLTree<Country>(); 
string buffer = null; 

public form1() 
{ 
LoadFile(); 
InitializeComponent(); 
orderTree(); 
} 

public void orderTree() 
{ 
countryTree.InOrder(ref buffer); 
txtOrder.Text = buffer; 
} 
} 

This is where .InOrder is

以内に私の問題である私は、特に代わりCountry.csクラスから

答えて

0

を "tree.Data.countryName" を取得することはできませんということのようです電話の

buffer += tree.Data.toString() + ","; 

fferあなたが「FormWork.Countryする国オブジェクトの表現ではなく、印刷しようとしているプロパティの文字列にアクセスするために

buffer += tree.Data.CountryName + ", "; 

の線に沿って何かを呼び出して、あなたのインオーダートラバーサルの行を追加"

次に、2つの異なる場所にリンクするのではなく、すべてのコードを質問に入れてください。

+0

また、CountryNameを返すようにCountryクラスのtoString関数を定義することができ、inOrder実装を変更する必要はありません – Hamburglar

+0

仮想デスクトップインターフェイスを使用してVSにアクセスするので、コードをコピーせずに貼り付けることはできませんだから私はそれをスクリーンショットすることにした。私はあなたの方法を試してみましたが、うまくいきませんでしたが、私はToStringオーバーライドを使って自分の問題を修正した他の場所で助けを受けました。 – Owenzzz

関連する問題