ArrayList list = new ArrayList();
for (int i = 0; i < list.Count; i++)
{
//If list[i] is empty?
}
是否可以檢查位置[i]
上的值是否爲空?如果是這樣,這怎麼解決?如何檢查C#中的ArrayList中的元素是否爲空?
ArrayList list = new ArrayList();
for (int i = 0; i < list.Count; i++)
{
//If list[i] is empty?
}
是否可以檢查位置[i]
上的值是否爲空?如果是這樣,這怎麼解決?如何檢查C#中的ArrayList中的元素是否爲空?
列表中沒有「空白」的概念。如果您可以迭代到列表中的某個元素,則該元素確實存在,並且存在一些值。現在,這個值可以採取不同的形式,在語義上意味着它是「空的」,但是這實際上取決於你對「空白」的定義,以及你之前賦予它什麼值以使它爲空 - 因爲只有當你指定一個值時才存在一個列表元素到它。
一個可以被解釋爲空的常見值是null
,這是一個無關的參考。這是所有引用類型的默認值,因此將它用作「空」會有意義。但其他值也可以在這裏同樣使用。
通常,您應該考慮只是刪除這些元素,而不是將空值的孔放入列表中。這樣,當遍歷你的列表時,你只有非空元素,並且你不需要在任何地方添加一些檢查來處理你特殊的空值。
這取決於你的ArrayList包含的內容。而你的意思是「空虛」。但是它不應該太難實施。 這裏有一些建議:
for(int i = 0; i<list.Count; i++){
if(list[i] == null){ //for objects
//do something
}
if(list[i].equals("")){ //for empty string
//do something
}
if(list[i].exists){ //for objects you created yourselfs whit a boolean exists-function
//do something
}
}
可能是一些語法錯誤,但你明白了! :)
如果您的數組列表包含int,則它可以測試-1或0,具體取決於您的設置。 –
for (int i = 0; i < list.Count; i++)
{
//If list[i] is empty?
}
只會循環數組中的元素。您必須通過list.Add(somevalue)或list [i] == somevalue將值分配給列表。
如果未分配,則根本不存在。所以一個列表不能有一個「空」的元素,因爲如果它沒有被設置,那麼沒有元素的鍵或值。像其他人一樣,儘管它可以是空的。但是null是一個值。
通過我寧願循環列表用foreach這樣
foreach(var item in list) {
// do something here.
}
這樣,你不需要做
var item = list[i];
來獲取值到一個變量的方式。因爲它已經由循環設置
只是做清單[i] == null – Dyrborg
這取決於你的意思是「空」。 –
ArrayList中的數據類型是什麼?我更喜歡使用列表對象,如列表或列表而不是ArrayList。一些列表集合可以包含null,其他的則不包含。 –
jdweng