for迴圈是開發中常用的,但是使用for迴圈仍然有很多有需要注意的地方。今天我們就來細說for迴圈帶了的坑。
今天,同事遇到了乙個奇怪的問題,問題是這樣的,他遍歷向乙個集合新增資料,結果發現for迴圈變成了死迴圈。大致**如下。
//學生類
class
student
//無參構造方法
public
student()
public string getname()
public
void
setname
(string name)
public
intgetage()
public
void
setage
(int age)
}//測試程式
public
static
void
main
(string[
] args)
students.
add(student);}
}
好了,執行一下測試程式,你會發現程式變成了死迴圈,集合的size在不斷增加,最終可能卡死你的終端。
分析一下原因,這是為什麼了。其實,出現這種問題,歸根結底,就是基礎不夠紮實,或者做事太粗心,原因很簡單。
每次迴圈後,又新增了這個物件到陣列中,增加了陣列的長度,而且list裡面是允許儲存先通過物件的。進而導致了一list的增加,造成了死迴圈。其實新增物件屬性就可以了,物件本身還在list裡面的。
public
static
void
main
(string[
] args)
// students.add(student);//去掉這句**即可
}}
通過,這個簡單的列子,我們需要實時吸取教訓,凡事多總結。
平時一定要注意基本功,只有基本功紮實才會必秒因為基礎不紮實出現本不該出現的問題。
不管做什麼事情,一定要細心。
在使用list集合遍歷並操作自身時,一定要注意位置是變化的,size 是移動的。
雖然很基礎,希望大家遇到類似的問題不要範湖,一定注意要仔細,如果你覺得幫助了您,麻煩給個小紅心吧,接下來我會繼續講解for迴圈,以及高效迴圈演算法。
別讓手機的這些軟體,毀了你的人生
朋友圈看到乙個故事,是揭示人們被手機改變後的生活 深夜乃至黎明將至,人們一邊想著該睡了,一邊還抱著手機遲遲不肯入眠 白天,隔上三五分鐘就要拿出手機看看的人不計其數 工作中,總想著還可以再逛逛 看看京東 這些無一不在說明手機改變了我們。20世紀90年代,大哥大出現,但那個時候 大哥大 是土豪身份的象徵...
畢業三到五年,別讓「努力」毀了你
畢業,就像乙個大大的句號,從此,我們告別了一段純真的青春 一段年少輕狂的歲月 乙個充滿幻想的時代,紛紛走向了社會。剛畢業的時候,作為職場新人,我們都拿著接近的薪水,幹著相似的事情,大家都過得差不多。小夥伴c還特別委屈的跟我說,我以前一直信奉一句話 只要努力工作就會得到相應待遇 我特別努力也特別勤快,...
畢業三到五年,別讓「努力」毀了你
畢業,就像乙個大大的句號,從此,我們告別了一段純真的青春 一段年少輕狂的歲月 乙個充滿幻想的時代,紛紛走向了社會。剛畢業的時候,作為職場新人,我們都拿著接近的薪水,幹著相似的事情,大家都過得差不多。小夥伴c還特別委屈的跟我說,我以前一直信奉一句話 只要努力工作就會得到相應待遇 我特別努力也特別勤快,...