如何在 LINQ 中分隔逗号分隔和 where 条件

How to separate comma separated and where condition in LINQ

我在数据库 table 中有一张 giftcardamounts

列包含美元和逗号分隔值。 共有 40 行。

例如:

row 1: giftcardamounts : (,,,,)
row 2: giftcardamounts : (0,0,,,)
row 3: giftcardamounts : (,,0,0,0)
...etc 

从前端有一个输入是 giftcardselectedamount

例如:giftcardselectedamount=500

基于此输入金额,需要对美元和逗号分隔的值列表编写 LINQ 查询。

请帮我写这个。

正如评论者指出的那样,您应该付出一些努力才能找到答案。另外你的问题不是很清楚。您是否要求 return 具有匹配金额的行?如果是这样,您可以尝试以下方法,其中 return 是包含指定美元金额的第一行:

void Main()
{
    var data = new[] {
        ",,,,",
        "0,0,,,",
        ",,0,0,0"};

    var giftcardSelectedAmount = 500M;

    var matchingRow = data.FirstOrDefault(x => x
        .Split(',')
        .Any(v => decimal.Parse(v, NumberStyles.Currency) == giftcardSelectedAmount));
        
    Console.WriteLine(matchingRow);
}

我可以轻松地将此答案修改为 return 所有匹配行、出现次数或出现次数的行数。如果您需要任何这些修改,请告诉我,我可以修改我的答案以添加这些。