我想知道是否有可能在指數1,但不索引0中迅速插入元素,像這樣:你可以有一個不帶元素的數組索引0
var array = [String]()
array.insert("cow", atIndex: 1)
但每一次我嘗試,我得到舊的致命錯誤:數組索引超出範圍的錯誤消息。
反正有這個問題嗎?任何建議將不勝感激!謝謝!
我想知道是否有可能在指數1,但不索引0中迅速插入元素,像這樣:你可以有一個不帶元素的數組索引0
var array = [String]()
array.insert("cow", atIndex: 1)
但每一次我嘗試,我得到舊的致命錯誤:數組索引超出範圍的錯誤消息。
反正有這個問題嗎?任何建議將不勝感激!謝謝!
您可以創建自定義列表。您將需要添加一些檢查,以確保項目不爲空或出指數等
void Main()
{
var list = new CustomList<string>();
list.Add("Chicken");
list.Add("Bear");
list[1] = "Cow";
list[1].Dump(); //output Cow
}
public class CustomList<T>
{
IList<T> list = new List<T>();
public void Add(T item)
{
list.Add(item);
}
public T this[int index]
{
get
{
return list[index - 1];
}
set
{
list[index - 1] = value;
}
}
}
字面上你不能。
一個項目可以在索引0
被插入到最大指數index(max) = array.count
,空數組的情況下,如果你真的想要索引是特定的,而不是僅僅在陣列中的下一個可用位置,你應該使用帶有Int鍵的字典。
var dict = [Int:String]()
dict[1] = "Cow"
dict[5] = "Chicken"
我的第一反應是你應該重新考慮你的架構。我可能是錯的,但是你認爲你需要這樣做的事實可能是一種難聞的氣味。你爲什麼需要做這樣的事情? – matt