1

リストに関する質問。

代替テキスト 私が"List<PlugwiseMessage> msg"写真からの値を持っているとき:

PlugwiseLib.BLL.BC.PlugwiseMessageのみを出力として取得します。

_message, _owner and _typeしかし、画面から値を確認するにはどうすればよいですか?またはMessage, Owner, and Type?の値

そして、誰かが私に違いを説明できますか?

4

5 に答える 5

3

リストにはPlugwiseLib.BLL.BC.PlugwiseMessageオブジェクトのコレクションがあります。メッセージ、所有者、およびタイプは、オブジェクトのプロパティです。_message、_owner、および_type変数は、プロパティによって公開されるバッキングフィールドです。

コンソール出力を実行しているときは、オブジェクトを呼び出し.ToString()ていPlugwiseMessageます。のデフォルトの動作はToString()、オブジェクトの名前を出力することです。プロパティを表示する場合は、いくつかの行を追加する必要があります

Console.WriteLine(msg[i].Message);
Console.WriteLine(msg[i].Owner);
Console.WriteLine(msg[i].Type);
于 2011-01-15T16:50:43.313 に答える
1

PlugWiseMessageタイプのToStringメソッドをオーバーライドします。

public override string ToString()
        {
            return String.Format("Owner {0}, Message {1}, Type {2}", this.Owner, this.Message, this.Type);
        }
于 2011-01-15T16:51:40.423 に答える
1

問題は、プロパティではなくオブジェクト自体を出力しているため、オブジェクトの型の名前を返すデフォルトのToString()メソッドを使用することです。

2つのオプションのうちの1つがあります。PluginwiseMessageクラスのToString()メソッドをオーバーライドして、必要な情報を含むフォーマットされた文字列を返すことができます。アクセスできない場合は、次のように実行できます。

foreach(PluginwiseMessage message in msg)
{
    Console.WriteLine("{0} {1} {2}", message.Message, message.Owner, message.Type);
    Console.Read();
}

印刷中のパラメータを簡単に再配置して出力にテキストを追加できますが、それは単にメッセージ、所有者、およびタイプをスペースで区切って出力します。

于 2011-01-15T16:52:30.070 に答える
1

リストにはPlugwiseMessageオブジェクトが含まれており、コンソールにそれらを書き留めるように指示します。これを行うには、PlugwiseMessageインスタンスを文字列に変換する必要があります。ToString()はそれを行うために使用され、デフォルトの実装は型の名前をダンプするだけです。それはあなたが観察するものです。

可能であれば、ToStringメソッドをオーバーライドして、必要に応じて調整する必要があります。それが不可能な場合は、自分で値をダンプする必要があります。つまり、msg [i] .Messasge、msg [i] .Owner、...をWriteLine()に渡す必要があります。

于 2011-01-15T16:53:34.617 に答える
0
msg[i].Message
msg[i].Owner
msg[i].Type
于 2011-01-15T16:52:01.600 に答える