C# のリンク リストのヘルプが必要です。C++ のリンク リストはポインターを使用すると簡単ですが、C# でいくつかの問題に直面しています。http://msdn.microsoft.com で提供されている例を読みましたが、方法がわかりませんでした。 2 つの異なるリンク リストをリンクするには
効率的な方法は、 LinkedListNode をリンクリストに入れることであるように思われるので、2つのリンクリストがあるとしましょう
LinkedList L1 = 新しい LinkedList(); LinkedList L2 = 新しい LinkedList(); そして、次のノードがあるとしましょう
LinkedListNode<String> Ln1 = new LinkedListNode<String>("Orange");
LinkedListNode<String> Ln2 = new LinkedListNode<String>("Banana");
LinkedListNode<String> Ln3 = new LinkedListNode<String>("Apple");
LinkedListNode<String> Ln4 = new LinkedListNode<String>("Strawberry");
私は単に私が持っているリストにそれらを追加しました:
L1.AddLast(Ln1);
L1.AddLast(Ln2);
L2.AddLast(Ln3);
L2.AddLast(Ln4);
さて、 L1 の最後の要素を L2 の最初の要素にリンクしたいとしましょう。それは可能ですか? 私はこれを最初に試しました:
L1.Last.Next = L2.First; エラーで完全に失敗しました: プロパティまたはインデクサー 'System.Collections.Generic.LinkedListNode<string>.Next' を割り当てることができません -- 読み取り専用です
さて、私はこれを試しました:
Ln2.Next = Ln3;
また失敗した
私の最後の試みは
LinkedListNode<String> node1=L1.Last;
LinkedListNode<String> node2 = L2.First;
node1.Next = node2;
エラー: プロパティまたはインデクサー 'System.Collections.Generic.LinkedListNode<string>.Next' を割り当てることができません -- 読み取り専用です
助けてください。それらをリンクする方法は?
追加の質問: たとえば、リンクされたリスト内の要素にそのインデックスで到達する方法はありますか?
私はこの単純なアルゴリズムを思いつきましたが、うまくいきます:
int i = 0;
foreach (var item in L2)
{
Console.WriteLine(item);
i++;
}
自動的な方法はありますか?
ご協力ありがとうございました