[英]Can I use a LINQ if statement with a boolean... all inside a select new? C#
第一次與 Linq 合作,所以我不確定這是否是完成我想做的事情的最佳方式......感謝任何建議。
我想使用布爾 m.IsDog 將單詞 Dog 添加到 m.Behavior 字符串的末尾。 如果它確實是一只狗,那么添加“-Dog”,如果不是,那么我只想要 m.Behavior。
我的代碼中有這個,它一直在像我在 API 響應中想要的那樣工作。
select new ReportCard
{
Id = m.Id,
Name = $"{m.FirstName} {m.LastName}",
Age = m.Age,
Attitude = m.IsDog ? m.Behavior + "-Dog" : m.Behavior
我被困住了,因為我也想寫類似下面的東西:
如果 m.Behavior = "G" 那么 "Good" 否則 "Bad"
這樣我的 API 響應就可以是“Good-Dog”、“Bad-Dog”、“Bad”、“Good”,而無需更改數據庫值。
甚至有可能在同一行代碼中做類似的事情嗎?
也許改變這條線:
Attitude = m.IsDog ? m.Behavior + "-Dog" : m.Behavior
至:
Attitude = (m.Behavior.StartsWith("G") ? "Good" : "Bad") + (m.IsDog ? "-Dog" : "")
有助於?
請記住,這只會匹配與大寫“G”匹配的Behavior
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.