【发布时间】:2011-11-25 12:09:43
【问题描述】:
我的应用中有一个 listView。我遍历项目以检查当前选择了哪个项目,然后返回一个值。由于所有路径都必须返回一个值,我必须在循环外返回一个值,该值会覆盖 for 循环返回,如何在循环后保持它而不覆盖它?
public string GetItemValue()
{
for (int i = 0; i < listView1.Items.Count; i++)
{
if (listView1.Items[i].Checked == true)
{
return listView1.Items[i].Text; // I want to keep this value
}
}
// Without overwriting it with this but the compiler
// requires me to return a value here
return "Error";
}
非常感谢任何帮助。谢谢。
P.S 我曾尝试在 if 之后使用 break,但没有运气。
【问题讨论】:
-
你不必担心这个。一旦它到达循环内的第一个
return,它将立即返回该值。在这种情况下,不会命中循环外的任何代码。 -
你试过看看到底发生了什么吗?
-
当我运行它时,它只是返回错误文本...
-
@Bali C 你检查过一个项目吗?打破它以确保您的 if 语句得到执行。
-
@BaliC 如果它返回错误文本,那么你在循环中的
if条件永远不会通过。
标签: c# winforms for-loop return