2010-09-24 154 views
1

我已經得到了沿線的一些Java代碼:什麼是Java的「for(String currLine:allLines)」的C#等價物?

Vector<String> allLines = new Vector<String>(); 
allLines.add("line 1"); 
allLines.add("line 2"); 
allLines.add("line 3"); 
for (String currLine: allLines) { ... } 

基本上,它讀取再大的文件轉換成一個行向量在時間(我把它所有的記憶,因爲我處理這一個m做一個多遍編譯器)。

用C#做這件事的等效方式是什麼?我假設我不需要恢復使用索引變量。


其實,澄清,我所要求的整個代碼塊相當於上面,不只是循環for

+0

我想'的(字符串currLine:allLines)'是相當於C#的foreach :-) – Nivas 2010-09-24 14:29:17

+1

這個問題是[笑話](http://stackoverflow.com/badges/39/c?userid=14860),對不對? – quantumSoup 2010-09-24 14:38:48

+0

不,@quantum,不幸的不是:-)雖然我已經做了一些WPF的東西,我不是Jon Skeet,而這實際上是我第一次不得不轉換foreach類型的代碼。針對C#問題的400個upvotes必須歸因於某種C/C++/Java標記交叉。 – paxdiablo 2010-09-24 14:42:53

回答

5

List<string>可以通過索引訪問和喜歡矢量自動調整。

所以:

List<string> allLines = new List<string>(); 
allLines.Add("line 1"); 
allLines.Add("line 2"); 
allLines.Add("line 3"); 
foreach (string currLine in allLines) { ... } 
6

這將是foreach構造。基本上它能夠從提供的參數中提取IEnumerable,並將其所有值存儲到提供的變量中。

foreach(var curLine in allLines) { 
    ... 
} 
0

foreach(string currLine in allLines) { ... }

1

我想這是

foreach (string currLine in allLines) 
{ 
    ... 
} 
0
List<string> allLines = new List<string> 
{ 
    "line 1", 
    "line 2", 
    "line 3", 
}; 
foreach (string currLine in allLines) { ... } 
0

看起來矢量只是一個簡單的列表,所以這將是C#相當於

List<string> allLines = new List<string>(); 
allLines.add("line 1"); 
allLines.add("line 2"); 
allLines.add("line 3"); 
foreach (string currLine in allLines) { ... } 
相關問題