【发布时间】:2015-07-26 16:27:17
【问题描述】:
如何删除具有“无”的值并将数组减少为具有值的值?
假设我有一个名为 modvaluestmp(,) 的二维数组,我使用以下 linq 语句来删除任何内容。它有效,但结果数组(结果)是一维数组。有人可以帮我返回一个保留索引的二维数组吗?
Dim result() = (From str In modvaluestmp
Where Not {Nothing}.Contains(str)).ToArray()
现有的数组是这样的
modvaluestmp(0,0) = "sometext1"
modvaluestmp(0,1) = "sometext2"
modvaluestmp(0,2) = "sometext3"
modvaluestmp(0,3) = "sometext4"
modvaluestmp(0,4) = Nothing
modvaluestmp(0,5) = Nothing
modvaluestmp(1,0) = "sometext5"
modvaluestmp(1,1) = "sometext6"
modvaluestmp(1,2) = "sometext7"
modvaluestmp(1,3) = "sometext8"
modvaluestmp(1,4) = Nothing
modvaluestmp(1,5) = Nothing
我希望数组如下
modvaluestmp(0,0) = "sometext1"
modvaluestmp(0,1) = "sometext2"
modvaluestmp(0,2) = "sometext3"
modvaluestmp(0,3) = "sometext4"
modvaluestmp(1,0) = "sometext5"
modvaluestmp(1,1) = "sometext6"
modvaluestmp(1,2) = "sometext7"
modvaluestmp(1,3) = "sometext8"
【问题讨论】:
-
如何既保留索引又消除一些值?请编辑您的问题,以提供原始数组的示例以及您希望得到的结果。
-
该方法返回一维数组,尝试使用循环和if语句搜索Nothing的值
-
@AfnanMakhdoom 你能举个例子吗?
-
您可能想要的是jagged array,而不是多维数组。
String()() -
不,实际上你需要一个锯齿状数组。
标签: arrays vb.net linq multidimensional-array