首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多个数组中查找常用值,或列出VB.NET

在多个数组中查找常用值,或列出VB.NET
EN

Stack Overflow用户
提问于 2011-12-24 00:20:18
回答 2查看 2.2K关注 0票数 0

Find common values in multiple arrays with PHP

基本上可以满足我的需要,但在PHP中,我需要VB。

我的情况是,我正在尝试创建一个基于多个股票位置的智能选股系统。

在开票时,我们遍历开具发票的商品,并检查库存数据库中的可用库存。

如果发票上的所有项目都可以从库存地点1挑库,那么所有项目都应该从库存地点1挑库...等。

如果库存地点1中除一项或两项之外的所有物料都可用,则从库存地点1中挑选所有库存,但例外情况除外,应从可用库存最高的地点中挑选。

找到最高可用库存很简单,但我不知道如何从多个位置分析库存可用性并找到常见的库存位置。

我可以创建一组这样的数组

代码语言:javascript
复制
Item ID    |     Available Stock Locations
    1      |        2, 3, 5
    2      |        1, 2, 6
    3      |        2, 3, 4
    4      |        1, 2 ,3 

如何比较这些位置列表,以发现2对所有四个位置列表都是通用的?

其次,如果一个商品没有共同的库存位置,我如何识别该商品,以便我可以返回并找到它的最高可用库存水平?

EN

回答 2

Stack Overflow用户

发布于 2011-12-24 00:24:19

与在PHP中一样,您可以使用相交数组来查找公共值。多亏了LINQ,这在VB中相当简单:

代码语言:javascript
复制
Dim array1 = {2, 3, 5}
Dim array2 = {1, 2, 6}
Dim array3 = {2, 3, 4}
Dim array4 = {1, 2, 3}

Dim commonItems = array1.Intersect(array2).Intersect(array3).Intersect(array4)

commonItems现在是一个包含所有常见商店位置的IEnumerable(Of Integer)

票数 1
EN

Stack Overflow用户

发布于 2011-12-24 00:41:40

Linq会更干净,但这种方法应该适用于2.0……

代码语言:javascript
复制
Dim arrX(2) As Integer
arrX(0) = 0
arrX(1) = 1
arrX(2) = 2

Dim arrY(2) As Integer
arrY(0) = 0
arrY(1) = 32
arrY(2) = 2

Dim arrZ(2) As Integer
arrZ(0) = 10
arrZ(1) = 2
arrZ(2) = 22

Dim arrCommon() As Integer

For Each i As Integer In arrX

    For Each i2 As Integer In arrY

        If i = i2 Then

            For Each i3 As Integer In arrZ

                If i2 = i3 Then

                    If arrCommon Is Nothing OrElse arrCommon.Length = 0 Then

                        ReDim arrCommon(0)
                        arrCommon(0) = i

                    Else

                        ReDim Preserve arrCommon(arrCommon.Length)

                        arrCommon(arrCommon.Length - 1) = i

                    End If

                End If

            Next

        End If

    Next

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

https://stackoverflow.com/questions/8618265

复制
相关文章

相似问题

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