[英]how to you do situation like IF in linq?
我有一個清單, A
List<int> A = new List<int>() {1,2,3,4,5};
我也有一個bool變量S
我想使用LINQ將A
復制到另一個列表中,條件是:如果S
為假,則復制A
中每個元素的負值(例如{-1,-2 ..}),否則它將是相同的,如{ 1,2- ..}
如果我理解你的問題,那確實可能:
var B = (from item in A
select S ? item : -item).ToList();
或者,使用lambda表達式 :
var B = A.Select(item => S ? item : -item).ToList();
您甚至可以在不使用三元條件運算符的情況下執行此操作 :
var B = A.Select(item => {
if (S) {
return item;
} else {
return -item;
}
}).ToList();
通過使用三元?:
運算符
A.Select(a=>s?a:-a).ToList()
這意味着對於A
每個元素a
,它將向列表中添加一個元素,其值為a
如果s
為真,則-a
如果不是
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.