我有这段代码
List<int> input = new List<int>() { 1, 2, 3 };
int output = input.DefaultIfEmpty(-5).FirstOrDefault(x => x == 4);
它告诉我“如果没有匹配则使用值-5”
为什么要返回此代码0
?
答案 0 :(得分:3)
当input
为空时,您的代码将返回List<int> input = new List<int>() { 1, 2, 3 };
int output = input.Where(x => x == 4).DefaultIfEmpty(-5).FirstOrDefault();
。
您想要做的是
{{1}}
但是,您可以按Dmitry Bychenko's answer中所述简化它。
答案 1 :(得分:2)
如果您需要4
Any
4
input
和-5
,则需要List<int> input = new List<int>() { 1, 2, 3 };
int output = input.Any(x => x == 4) ? 4 : -5;
import requests, bs4
r = requests.get('http://apps.mmc.gov.my/searchmmc/main_search.php?action=detail&id=10000')
soup = bs4.BeautifulSoup(r.text, 'lxml')
for tr in soup.select('tr table tr[valign="bottom"]'):
print(tr.get_text(strip=True))
答案 2 :(得分:0)
我认为问题是你仍然有价值。试试这个:
int output = input.Where(x => x == 4).DefaultIfEmpty(-5).FirstOrDefault();
希望它有所帮助!