以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教:数组比较问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148768) |
-- 作者:y2287958 -- 发布时间:2020/4/15 9:48:00 -- 请教:数组比较问题 Dim A() = {0,1,2} Dim B() = {0,1,2} Output.Show(A.Equals(B)) Output.Show(A Is B) 为什么这两种方法返回的都是False啊,明明都相等。 又该如何比较?谢谢
|
-- 作者:有点蓝 -- 发布时间:2020/4/15 10:04:00 -- 数组不能直接比较,只能比较里面的项目:遍历直接比较 |
-- 作者:逛逛 -- 发布时间:2020/4/15 10:16:00 -- 试试 Output.Show(Enumerable.SequenceEqual(A, B)) |
-- 作者:y2287958 -- 发布时间:2020/4/15 11:12:00 -- 谢谢逛逛,帮我不少。 NET FrameWork 4.0以后,很多东西明明知道可以,就是不知道写法。 这样写法也可以:Output.Show(A.SequenceEqual(B)) 想再请教逛逛:比较两个数组“谁大谁小”?
|
-- 作者:逛逛 -- 发布时间:2020/4/15 13:39:00 -- 数组是对象,没有大小吧。可以结合交差并,去判断一下是否有谁包含谁 |
-- 作者:y2287958 -- 发布时间:2020/4/15 16:46:00 -- 回逛逛:这里有,就是不知道在狐表怎么写。 [此贴子已经被作者于2020/4/15 17:04:20编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/15 17:21:00 -- Dim A() = {0,1,2} Dim B() = {0,1,3} Dim res As Integer = ctype(a , System.Collections.IstructuralComparable).CompareTo(b,Comparer(of Integer).Default) msgbox(res)
|
-- 作者:y2287958 -- 发布时间:2020/4/16 8:05:00 -- 谢谢蓝版 |