こんにちは、出品方法について質問があります。
リストを定義しようとしています
List<periodrecord> pl=new List<periodrecord>(4);
次に、forループを介してリストにアイテムを追加したい
私がこれをしたとき:
for (i = 1; i < 100; i++)
{
try
{
periodrecord pr = new periodrecord();
/*some random lines*/
pl.Add(pr);
}
catch (Exception e)
{ break; }
}
私の質問は: 各ループで宣言された pr のアドレスは、リストによって格納されます。しかし、pr 変数自体がプログラムによって使用されなくなったため、これらの場所は空と見なされ、何らかの形で上書きされるのでしょうか? ありがとう。
答えを考えると、まだいくつかの疑問があります。私の完全なコードは次のとおりです。
List<periodrecord> pl=new List<periodrecord>(4);
for (i = 1; i < 100; i++)
{
try
{
periodrecord pr = new periodrecord();
record2 = sr.ReadLine();
SNorPartCode = record1.Split('&')[0];
phototype = int.Parse(record1.Split('&')[1]);
System.Globalization.CultureInfo provider = System.Globalization.CultureInfo.InvariantCulture;
time = record1.Split('&')[2];
pr.start = DateTime.Parse(time,provider);
pr.SNorPartCode = SNorPartCode;
pr.phototype = phototype;
if (record2 != null)
{
pr.end = DateTime.Parse(record2.Split('&')[2], provider);
}
else
{
pr.end = DateTime.MaxValue;
}
pl.Add(pr);
record1 = record2;
}
catch (Exception e)
{ break; }
}
私が行を取ったとき: periodrecord pr = new periodrecord();
forループから出て、行
pr.start=...
pr.end=....
リスト内のすべての項目を変更しました。