首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# InvalidOperationException

C# InvalidOperationException
EN

Stack Overflow用户
提问于 2010-01-02 23:30:39
回答 3查看 11K关注 0票数 1
代码语言:javascript
复制
Nodo N;  

foreach (string S in listBox_nodos.Items)  
{  
    N = graph.getNodoName(S);  
    string comp = (string) listBox_nodos.SelectedItem;  
    if (comp == S)  
        System.Console.WriteLine(N.NAME);  
}  

我得到了InvalidOperationException,应用程序崩溃了。

我不明白为什么。有什么帮助吗?谢谢。

编辑:打印'N.NAME‘!然后就崩溃了。

EDIT2:我尝试过捕捉异常,但无论如何应用程序都会崩溃。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-02 23:34:21

你在哪一行得到异常?在不知道listBox_nodos具有什么数据类型的情况下,我的第一个猜测是Items不包含大量的string,而是ListBoxItem

代码语言:javascript
复制
foreach (var item in listBox_nodos.Items)  
{  
    N = graph.getNodoName(item.Value); // or .SomethingElse
票数 1
EN

Stack Overflow用户

发布于 2010-01-03 00:20:21

  • 如前所述,完整的异常将很容易看到(如果在VS调试器中,您可以从异常助手对话框或Debug -> Windows -> Locals中的$exception条目中获取它)。最坏的情况下,您应该能够尝试{ ..} catch (Exception ex) { System.Console.WriteLine(ex);(Exception的ToString包含堆栈跟踪)

代码语言:javascript
复制
- if you're not sure of the types involved, could get the Items/SelectedItem as IEnumerable/object and then gettype() on them and display that.

  • 在尝试显示内容时,可能还想尝试MessageBox.Show,以防异常是由于使用Console而导致的异常,但看起来您正在通过列表框项目查找所选项目-如果这是真的,为什么不直接使用所选项目呢?
票数 1
EN

Stack Overflow用户

发布于 2012-06-15 04:48:51

我以前也遇到过类似的问题,也与选定的项目有关。我对它进行了广泛的调查,但没有找到解决方案。我最终重做了表单(尽管我认为只有控件是必要的),这似乎解决了它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1991903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档