这是我一直疑惑的问题,查了几次也没弄明白。
所以基本上我想做的就是获得这种效果:
List<string> strings = new List<string>(){"a","b","c"};
string aString = foreach(string s in strings){ if (s == "c") return s;}
那么在那之后,aString 的值为“c”。
我尝试过使用 lambda 表达式,也许我只是无法让它们正常工作,或者可能只是没有办法做到这一点。
显然我想做一些比我上面的例子更复杂的事情,但它会以同样的方式工作。
可能吗?不可能?
最佳答案
您应该使用 FirstOrDefault
扩展方法。
List<string> strings = new List<string>(){"a","b","c"};
return strings.FirstOrDefault(s=>String.Equals(s, "a"));
关于c# - 有没有办法让它看起来像 foreach 看起来返回一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11551169/