如何在 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 所有匹配行、出现次数或出现次数的行数。如果您需要任何这些修改,请告诉我,我可以修改我的答案以添加这些。
我在数据库 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 所有匹配行、出现次数或出现次数的行数。如果您需要任何这些修改,请告诉我,我可以修改我的答案以添加这些。