第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用LINQ將列表拆分為子列表

使用LINQ將列表拆分為子列表

POPMUISE 2019-06-03 13:30:39
使用LINQ將列表拆分為子列表有什么方法可以把List<SomeObject>分成幾個單獨的列表SomeObject,使用項索引作為每個分隔符的分隔符?讓我舉例說明:我有一個List<SomeObject>我需要一個List<List<SomeObject>>或List<SomeObject>[],這樣,這些結(jié)果列表中的每一個都將包含原始列表中的3項(按順序排列)。例如:原始清單:[a, g, e, w, p, s, q, f, x, y, i, m, c]由此產(chǎn)生的清單:[a, g, e], [w, p, s], [q, f, x], [y, i, m], [c]我還需要結(jié)果列表大小作為此函數(shù)的參數(shù)。
查看完整描述

3 回答

?
牧羊人nacy

TA貢獻1862條經(jīng)驗 獲得超7個贊

試試下面的代碼。

public static IList<IList<T>> Split<T>(IList<T> source){
    return  source        .Select((x, i) => new { Index = i, Value = x })
        .GroupBy(x => x.Index / 3)
        .Select(x => x.Select(v => v.Value).ToList())
        .ToList();}

其思想是首先按索引對元素進行分組。除以三,其效果是將它們分成三組。然后將每個組轉(zhuǎn)換為一個列表,然后將IEnumerableList轉(zhuǎn)到ListLists


查看完整回答
反對 回復(fù) 2019-06-03
?
慕無忌1623718

TA貢獻1744條經(jīng)驗 獲得超4個贊

這個問題有點老了,但我只是寫了這個,我認為它比其他建議的解決方案更優(yōu)雅:

/// <summary>/// Break a list of items into chunks of a specific size
/// </summary>public static IEnumerable<IEnumerable<T>> Chunk<T>(this IEnumerable<T> source, int chunksize){
    while (source.Any())
    {
        yield return source.Take(chunksize);
        source = source.Skip(chunksize);
    }}


查看完整回答
反對 回復(fù) 2019-06-03
  • 3 回答
  • 0 關(guān)注
  • 747 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號