【发布时间】:2013-03-05 02:31:03
【问题描述】:
我正在尝试找出我的数组中的特定单元格是否包含给定字符串的一部分。由于数组不使用 .Contains,我使用的是 .Any,但似乎我对 .Any 工作原理的理解过于模糊,无法正确使用。
public void ProcessCSV (string typeName) {
for (int y = 0; y < CSVReader.grid.GetUpperBound(1); y++) {
if (CSVReader.grid[0,y] != null) {
if ((CSVReader.grid[0,y].Any(s => typeName.Contains(s)))) {
// (add it to a new list)
所以我输入“Pork”、“Farm”等字符串。有时它似乎工作得很好,例如如果 typeName 是“Farm”,我只会从数组中取回包含 [0, y] 中的字符串的行。但在其他时候,如果我使用 Farm、另一个字符串或随机乱码,它只会返回包含任何字符串的每一行。
当我以这种方式调用 .Any 时实际发生了什么?我可以使用其他方法吗?
【问题讨论】: