首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将范围从一个列表添加到另一个列表

将范围从一个列表添加到另一个列表
EN

Stack Overflow用户
提问于 2015-05-11 16:02:50
回答 1查看 7.2K关注 0票数 4

我有一个list(of string),我搜索它以获得一个开始和结束范围,然后我需要将这个范围添加到一个单独的列表中

例:列表A= "a“ab”abc“"ba”"bac“"bdb”"cba“"zba”

我需要名单B是所有的b (3-5)

我想做的是ListB.Addrange(ListA(3-5))

我怎样才能做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-11 16:12:12

使用List.GetRange()

代码语言:javascript
复制
Imports System
Imports System.Collections.Generic

Sub Main()
    '                                               0    1     2      3     4      5      6      7
    Dim ListA As New List(Of String)(New String() {"a", "ab", "abc", "ba", "bac", "bdb", "cba", "zba"})
    Dim ListB As New List(Of String)

    ListB.AddRange(ListA.GetRange(3, 3))
    For Each Str As String In ListB
        Console.WriteLine(Str)
    Next
    Console.ReadLine()
End Sub

或者您可以使用Linq

代码语言:javascript
复制
Imports System
Imports System.Collections.Generic
Imports System.Linq

Module Module1
    Sub Main()
        '                                               0    1     2      3     4      5      6      7
        Dim ListA As New List(Of String)(New String() {"a", "ab", "abc", "ba", "bac", "bdb", "cba", "zba"})
        Dim ListB As New List(Of String)

        ListB.AddRange(ListA.Where(Function(s) s.StartsWith("b")))
        ' This does the same thing as .Where()
        ' ListB.AddRange(ListA.FindAll(Function(s) s.StartsWith("b")))
        For Each Str As String In ListB
            Console.WriteLine(Str)
        Next
        Console.ReadLine()
    End Sub
End Module

结果:

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30172407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档