Jag försöker att fylla på en Arraylist uppifrån, dvs det som var på pos 0 skall till pos 1 osv. Använd Insert istället för Add Du kan inte använda Queue (System.Collections.Queue) objektet annars? Tack jag löste det på ett annat sätt:Fylla på en Arraylist uppifrån
Det här går bra i ett steg, men när jag vill fylla på med mera så lyckas jag inte.
<code>
listBox1.Items.Clear();
System.Collections.ArrayList minArrayList;
minArrayList = new ArrayList(4);
a = "Benni";
b = "Johan";
c = "Dennis";
d = "Krille";
minArrayList.Add(a);
minArrayList.Add(b);
minArrayList.Add(c);
minArrayList.Add(d);
if(textBox1.Text !="")
{
minArrayList.Contains(5);
minArrayList.Clear();
d=c;
c=b;
b=a;
a= textBox1.Text;
minArrayList.Insert(0,a);
minArrayList.Insert(1,b);
minArrayList.Insert(2,c);
minArrayList.Insert(3,d);
for(int i =0;i< minArrayList.Count;i++)
{
listBox1.Items.Add(minArrayList[i]);
}
textBox1.Text="";
}
</code>
Hur bör jag skriva om för att hela tiden kunna fylla på uppifrån?Sv: Fylla på en Arraylist uppifrån
<code>
listBox1.Items.Clear();
System.Collections.ArrayList minArrayList;
minArrayList = new ArrayList(4);
a = "Benni";
b = "Johan";
c = "Dennis";
d = "Krille";
minArrayList.Insert(0, a);
minArrayList.Insert(0, b);
minArrayList.Insert(0, c);
minArrayList.Insert(0, d);
</code>
Insert (0, object) sätter in object först i listan och flyttar ner alla andra objekt.
Insert(5, object) sätter in object på 5 plats i listan, under förutsättning att det finns så många.
Ta en titt i MSDN på ArrayList och Insert
//
JanneSv: Fylla på en Arraylist uppifrån
Ha en trevlig helg!Sv: Fylla på en Arraylist uppifrån
<code>
public const int MAX_RECENT = 5;
private ArrayList myArray = new ArrayList(MAX_RECENT); // ArrayList med tidigare filer...
//arrayen fylls på sedan
AddRecent(fFilNamn);
public void AddRecent(string latest)
{
myArray.Insert(0, latest);
if(myArray.Count > MAX_RECENT)
myArray.RemoveAt(MAX_RECENT);
}
</code>
Tack för all hjälp