0
我有以下代碼。將自定義對象添加到鏈接列表,該列表已損壞
private static Prints someprint = new Prints();
private static LinkedList<Prints> LList = new LinkedList<Prints>();
public static void Main()
{
Console.Clear();
someprint.ChangePrint(101.18, 101.16, 16, TimeSpan.Parse("00:00:20"), DateTime.Parse("4/8/2014 6:50:10 PM"));
LList.AddLast(someprint);
someprint.ChangePrint(101.20, 101.10, 200, TimeSpan.Parse("00:00:20"), DateTime.Parse("4/8/2014 6:50:10 PM"));
LList.AddLast(someprint);
someprint.ChangePrint(102.38, 102.36, 16, TimeSpan.Parse("00:00:40"), DateTime.Parse("4/8/2014 7:15:15 PM"));
LList.AddLast(someprint);
LinkedListNode<Prints> somenode = new LinkedListNode<Prints>(new Prints());
somenode = LList.First;
Console.WriteLine("LList");
while (somenode != null)
{
somenode.Value.PrintToScreen();
somenode = somenode.Next;
}
Console.ReadKey();
}
這是我得到的輸出。
LList
Sell Print
Start of Print=102.38
End of Print=102.36
Volume in Print=16
Time Spanned by Print=00:00:40
Time Stamp = 4/8/2014 7:15:15 PM
Sell Print
Start of Print=102.38
End of Print=102.36
Volume in Print=16
Time Spanned by Print=00:00:40
Time Stamp = 4/8/2014 7:15:15 PM
Sell Print
Start of Print=102.38
End of Print=102.36
Volume in Print=16
Time Spanned by Print=00:00:40
Time Stamp = 4/8/2014 7:15:15 PM
我似乎無法弄清楚爲什麼在鏈表中的所有3打印是相同的。
我嘗試了一個只有整數值的示例程序,它工作。我試圖打印LList.Last.Value.PrintToScreen();只是在值被添加之後,並且在那一點上它會打印正確的值。但我似乎無法檢索鏈接列表。 任何人都可以請解釋。
在這種情況下,我實際上通過整個數據集到構造函數,而不是毫無意義創建一個空的對象,然後調用'ChangePrint'它直接之後。 – CompuChip
但每次的價值都不一樣。當我在每次添加到LList後使用LList.Last.Value.PrintToScreen時,它會打印正確的值 – novice
@CompuChip是的,這很有道理。我只是想用最少的代碼修改來指出問題。 –