簡體   English   中英

怎么樣你在linq做IF的情況?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM