【发布时间】:2014-10-03 16:45:45
【问题描述】:
我对这个方法的documentation里的这个花絮很好奇:
返回值 类型:System.Int32 找到的第一个项目的从零开始的索引;如果未找到匹配项,则返回 -1,如果 s 参数指定为 Empty,则返回 0。
如果提供的字符串为空,我根本无法理解让这个方法返回 0 对某人有什么用处。请记住,返回值应该是组合框中匹配字符串位置的从零开始的索引。因此,当您使用此方法返回 0 时,可能是您搜索的字符串位于位置 0,或者您搜索的字符串为 Empty。对于两种截然不同的情况,结果相同。
如果您专门搜索一个空字符串,而该字符串恰好位于 5 位,会发生什么情况?然后这个方法会返回 0,不是吗?
我只是想了解这个小警告的意图是什么,以及如何正确使用它。
【问题讨论】:
-
实际上它不返回0,对于空字符串,如果有一个带有空字符串的项目将返回其索引,否则将返回
-1,所以我相信有一个文档中的缺陷。 -
我想知道文档是否在 ComboBox.FindString 和 ComboBox.FindStringExact 之间切换。 FindString 的文档不包含这个短语,但在这种情况下它是有意义的。
-
@Dave:就是这样! FindString 为空的搜索字符串返回 0,无论是否为空项。 FindStringExact 返回索引或 -1。他们会为这种发现发放奖品吗?
-
大概 10 Bing 奖励积分
-
MSDN 更新了社区添加