コンソールに結果を出力「テスト);」私はToStringメソッド、Convert.ToString、などを試してみましたが、私はまだその出力を得るのIListをstring.Joinしようとすると、「string.Join(」使用
「Ilistprac.Location、Ilistprac.Location、Ilistprac.Location」
:作品は、しかし、いくつかの理由のために私はの出力を取得します。
すべてのIListインターフェイスは、(誰かが私がしたいと考えていない限り、単にここに記載されていない)あまりにもIEnurmerableで実装されています。
class IList2
{
static void Main(string[] args)
{
string sSite = "test";
string sBldg = "test32";
string sSite1 = "test";
string sSite2 = "test";
Locations test = new Locations();
Location loc = new Location();
test.Add(sSite, sBldg)
test.Add(sSite1)
test.Add(sSite2)
string printitout = string.Join(",", test); //having issues outputting whats on the list
}
}
string printitout = string.Join(",", test.ToArray<Location>);
public class Location
{
public Location()
{
}
private string _site = string.Empty;
public string Site
{
get { return _site; }
set { _site = value; }
}
}
public class Locations : IList<Location>
{
List<Location> _locs = new List<Location>();
public Locations() { }
public void Add(string sSite)
{
Location loc = new Location();
loc.Site = sSite;
loc.Bldg = sBldg;
_locs.Add(loc);
}
private string _bldg = string.Empty;
public string Bldg
{
get { return _bldg; }
set { _bldg = value; }
}
}
、 1つ以上の値を返すには、フォーマットする必要があるようです。ありがとう! – nhat
これは、複数の値を返すについては本当にありません。これは、あなたの型を 'string'で表現する方法です。 'Join'シーケンスにおけるLocation''の各インスタンスに 'ToString'呼び出します。クラスのデフォルト文字列表現は型名です。他のものが必要なら、その型に対して 'ToString'をオーバーライドする必要があります。 –
Gotcha、私はデフォルトの実装が何であるか分からず、文字列を取得するためにオーバーライドが必要でした。私はそれらの値を返す問題を持っていましたが、そのようにフォーマットされているのはトリックでした – nhat