当用户在列表框中选择某些内容时,我正在尝试检索数组中的对象。
目前列表框有一个文件名列表,我实现解决方案的方法是遍历数组并找到匹配的文件名,并在找到后使用对象引用。
foreach (CPSImage img in objWholeLibrary)
{
if (Path.GetFileName(img.FileName).Equals(lbxImageObjects.SelectedItem.ToString()))
{
currImage = img;
break;
}
}
UpdateDisplay();
有没有更有效的方法?而不是依赖字符串来匹配对象?
最佳答案
如果您使用的 .NET Framework 版本至少为 3.5,那么您可以使用 LINQ 来完成:
currImage = objWholeLibrary.FirstOrDefault(
img => Path.GetFileName(img.FileName).Equals(
lbxImageObjects.SelectedItem.ToString())
);
UpdateDisplay();
执行速度应该是一样的,只是代码看起来更干净一些。
关于c# - 从列表框中快速选择一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9585625/