【发布时间】:2017-04-03 13:51:02
【问题描述】:
所以我有一个列表框设置,其中有几个库名称,当您启动程序并选择一个时,我这样做是为了获取所选项目的内容。
string selectedItem = lstLibraries.SelectedItem.ToString();
然后我想找出我设置的数组列表中的哪个位置出现了这个字符串,所以我使用了这个。
Libraries tempLibrary = (Libraries)LibrariesAndBooks[index];
正如您在下面的屏幕截图中看到的那样,当程序遇到错误时,它位于 index[0] 而不是 -1,为什么会发生这种情况?
另外,将其硬编码为 0 不是我需要做的选择,如果我犯了一个愚蠢的错误或者我的代码让你想吐,那很好,因为我才刚上大学一年级,还没有'无论出于何种原因,都没有以第 6 种形式编写任何代码,因此这是意料之中的。
【问题讨论】:
-
selectedItem是string,但您的列表似乎包含一个类的对象。使用IndexOf不会那样工作,因为它不知道应该将字符串与什么进行比较(它甚至不知道应该将字符串与对象的成员进行比较),请参阅@987654322 @.