【问题标题】:ComboBox.FindStringExact(string s) - what use is it to return 0 if string s is Empty?ComboBox.FindStringExact(string s) - 如果 string s 为空,返回 0 有什么用?
【发布时间】: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 更新了社区添加

标签: c# .net winforms combobox


【解决方案1】:

文档错误:短语“如果 s 参数指定为 Empty,则为 0”应该是 ComboBox.GetString 文档的一部分,而不是 ComboBox.GetStringExact

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    • 1970-01-01
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    相关资源
    最近更新 更多