2014-10-03 141 views
2

我對這個珍聞在documentation這種方法很好奇:ComboBox.FindStringExact(string s) - 如果字符串s爲空,它有什麼用途返回0?

Return Value Type: System.Int32 The zero-based index of the first item found; returns -1 if no match is found, or 0 if the s parameter specifies Empty.

我根本無法捉摸的東西用它的人有這個方法返回0,如果所提供的字符串是空的。請記住,返回應該是組合框中匹配字符串位置的從零開始的索引。因此,當您返回0時,使用此方法,可能是您搜索的字符串位於0,或者您搜索的字符串是空的。對於兩種截然不同的情況也是如此。

如果你正在尋找一個空字符串,恰好處於位置,比如5,會發生什麼?這個方法會返回0,否?

我只是想了解這個小警告的意圖是什麼,以及如何正確使用它。

+4

在真實的,它不返回0,爲空字符串,如果有一個帶有空字符串的項目,它將返回它的索引,否則它將返回'-1',所以我認爲文檔中存在缺陷。 – Habib 2014-10-03 16:57:31

+2

我不知道文檔是否在ComboBox.FindString和ComboBox.FindStringExact之間切換。 FindString的文檔不包含這個短語,但在這種情況下它會有意義。 – 2014-10-03 17:06:40

+1

@Dave:就是這樣! FindString爲空搜索字符串返回0,不管它是否爲空項目。 FindStringExact返回索引或-1。他們是否爲這種發現交出獎品? – TaW 2014-10-03 17:10:22

回答

2

文檔錯誤:短語「或0,如果s參數指定空」應該是ComboBox.GetString文檔的一部分,而不是ComboBox.GetStringExact

相關問題