【发布时间】:2011-01-25 01:37:34
【问题描述】:
在进行此布尔迭代时,我很想使用不存在的运算符||=,并认为必须有一个更简单或更好的设计来代替它的有效使用(而不是认为它只是“缺失”):
bool validExtension = false;
foreach (string extension in Plugin.Extensions)
{
validExtension = validExtension || Path.GetExtension(file).Equals(extension.TrimStart('*'), StringComparison.InvariantCultureIgnoreCase);
if (validExtension)
{
break;
}
}
importButton.Enabled = File.Exists(importTextBox.Text) && validExtension;
【问题讨论】:
-
Plugin.Extensions 的类型是什么?
-
@yetanothercoder:只要你知道它会迭代字符串,这并不重要。
-
您可能想反转最后一行中的测试,如果
validExtension为假,则进行昂贵的File.Exists测试毫无意义。 -
@lazlo:为了好奇,我能知道吗? :)
-
@yetanothercoder
static readonly string[],无聊到不行。