2008-11-06 37 views
47

可以說我有一個這樣的數組:你如何索引字段添加到LINQ結果

string [] Filelist = ... 

我想創建一個LINQ的結果,其中每個條目是這樣的陣列中的位置:

var list = from f in Filelist 
    select new { Index = (something), Filename = f}; 

指數爲0的第一個項目,1 2次,等

我應該用什麼索引表達式=?

回答

113

請勿使用查詢表達式。使用the overload of Select which passes you an index

var list = FileList.Select((file, index) => new { Index=index, Filename=file }); 
+0

如何在SQL語法做到這一點? – toddmo 2017-04-30 20:15:40

+0

@toddmo:「在SQL語法中」是否指「使用LINQ查詢表達式」?如果是這樣,你不能。如果你的意思是「在SQL本身」,那麼我不知道 - 我懷疑有這樣做的不便攜方式。 – 2017-05-01 06:07:11

0
string[] values = { "a", "b", "c" }; 
int i = 0; 
var t = (from v in values 
select new { Index = i++, Value = v}).ToList(); 
相關問題