2012-02-22 47 views
0

我想弄清楚是否有可能在linq中運行總計。我正在反對一個列表,而不是sql。我已經在SQL中完成了運行列表,但是如果可以在linq中執行,則無法找到任何內容。在linq運行計數

col1 col2 col3 
1  a  afafaf 
2  b  adfali 
3  c  adfiaj 
4  d  adfi 

感謝 香

~~~~部分加入下面 我不能讓你給調換的例子..所以我就給什麼,我試圖做一個不同的例子。我試圖違背(JobS)列表。喬布斯在其中有Job的實例,Job中有職責和類的屬性。所以我想要一個linq聲明。如果你知道如何在VB中做到這一點... ...我幾乎不可能要求更多。 謝謝 香農

+0

計數什麼?列表中的元素數量? – 2012-02-22 16:43:05

+0

no ..一個運行計數,其中第1行回到1,第2行回到2.運行計數中的數據不引用列表中的任何數據,只是該行所在的行號在列表中.. – jvcoach23 2012-02-22 18:07:09

回答

0

對不起,如果我理解你錯了,但從你的描述我認爲你可能有興趣在IndexOf方法。你通過行值,它會返回該行的表內的索引/位置:

樣品:

class Program 
{ 
    static void Main(string[] args) 
    { 
     List<int> ints = new List<int>(); 

     ints.AddRange(Enumerable.Range(1, 10)); 

     int index = ints.IndexOf(4); 

     //Prints 3 
     Console.WriteLine(index); 

     Console.ReadKey(); 
    } 
} 
2

您可以在SELECT語句中增加一個索引:

var data = new string[][] 
{ 
    new string[] {"a", "afafaf"}, 
    new string[] {"b", "adfali"}, 
    new string[] {"c", "adfiaj"}, 
    new string[] {"d", "adfi"} 
}; 

int rowCount = 1; 
var table = data 
    .Select(d => new { col1 = rowCount++, col2 = d[0], col3 = d[1] }) 
    .ToList();