这是我一直想知道的事情,抬起几次却从未想过.
基本上我想做的就是得到这样的效果:
List<string> strings = new List<string>(){"a","b","c"};
string aString = foreach(string s in strings){ if (s == "c") return s;}
Run Code Online (Sandbox Code Playgroud)
那么之后,aString的值为"c".
我尝试过使用lambda表达式,也许我只是不能让它们正常工作,或者可能没有办法做到这一点.
显然我想做一些比上面的例子更复杂的事情,但它会以同样的方式工作.
可能?不可能?
您应该使用FirstOrDefault
Extension方法.
List<string> strings = new List<string>(){"a","b","c"};
return strings.FirstOrDefault(s=>String.Equals(s, "a"));
Run Code Online (Sandbox Code Playgroud)