在我的项目中,我将单元格(在我的例子中是TextBlock控件)组织到名为boxes的列表中。每个盒子都有9个细胞。是否有一种方法可以比较这些列表中的所有单元元素,如果其中任何元素与我指定的表达式匹配,则返回true?对于我在遍历单元格列表时所做的每一次比较,我需要确保在进行比较时,给定的单元格不会考虑到自己。这样,它就不会考虑自己的价值,因此我试图在下面编写lambda语句。我知道第一个()和一个()返回单个元素,所以我怀疑是我的lambda导致了这个问题。我使用以下代码:
while (cell.Text == box.SkipWhile(e => e == cell).First().Text)
{
// change cell.Text's value here as long as any other cell's
// .Text value is the same
}
尽管这是编译的,但遍历代码似乎比应该跳过while语句更频繁,而且我仍然在同一框中的单元格之间获得相同的.Text值。
发布于 2017-10-18 08:59:25
您可以像这样使用Any
。这将告诉您,框中是否包含具有相同Text
值的内容,但它与cell
的内容不同(可能是引用的,但这取决于cell
是什么)。
if(box.Any(e => e.Text == cell.Text && e != cell)){
cell.Text = somethingDifferent;
}
https://stackoverflow.com/questions/46815369
复制相似问题