【问题标题】:Find item in array of structure在结构数组中查找项目
【发布时间】:2015-03-11 21:58:36
【问题描述】:

我有一个问题。想象一下,在 vb.net 中,用很多项目填充一个结构数组。例如,这里我声明了名为 Persons 的结构:

    Public structure Persons
         Dim name as string
         Dim age as integer
    End structure

然后,我声明一个人数组变量,用于创建朋友列表,如下所示:

    Dim friends() as Persons
    friends(0).name = "Sebastian"
    friends(0).age = 19

    friends(1).name = "Michael"
    friends(1).age = 34

    ...

那么,有什么表格可以定位“塞巴斯蒂安”的位置在哪里??换句话说。如果我知道“Sebastian”是否存在于任何朋友(i).name 中,如果存在,则返回位置(i),我该怎么做??

谢谢

【问题讨论】:

  • 为什么是数组而不是List(Of Persons)?这是作业吗?顺便说一句,您应该将结构命名为 Person(单数),而不是 Persons(复数)。
  • ...为什么不是 Person 类而不是结构?
  • 嗨,比约恩。家庭作业?你一定在开玩笑。为什么不是 List(of Persons) 的答案是因为我认为像一个结构而不是一个列表那样更干净。也许我错了,我不知道...

标签: arrays vb.net search structure


【解决方案1】:

试试这个:

Dim i As Integer = Array.FindIndex(friends, Function(f) f.name = "Michael")

变量 i 应该具有名为“Michael”的人的位置。

【讨论】:

  • 请记住,这将返回第一个“Michael”的索引。这可能正是您想要的,但请考虑如果有多个“迈克尔”会怎样。
  • 我会试试这个。好吧,问题的信息就是一个例子。在项目中不会存在重复的名字:)
  • 嘿@Diego!该解决方案完美运行,它返回我想要的项目的位置。非常感谢:)
猜你喜欢
  • 1970-01-01
  • 2021-04-07
  • 2018-02-10
  • 1970-01-01
  • 1970-01-01
  • 2022-11-20
  • 2016-12-19
  • 1970-01-01
相关资源
最近更新 更多