我想將物件值作為逗號分隔的字串連接起來,我已經使用 Join 完成了,但這不會對每個物件進行空檢查。如果我必須添加一個空/未定義的檢查,我如何鏈接它來加入?最好的方法是什么?
class User{
public Guid Id {get;set;}
public string Description {get;set}
}
public async Task<List<string>> getUser(List<User> users)
{
var ids = string.Join(“,”, users.Select(user=>user.Id));
var descriptions = string.Join(“,”, users.Select(user=>user.Description));
return new List<string> {ids,descriptions};
}
uj5u.com熱心網友回復:
如果你想跳過空值,所以根本不要添加它們:
var ids = string.Join(“,”, users
.Where(user => user != null)
.Select(user=> user.Id));
var descriptions = string.Join(“,”, users
.Where(user => user?.Description != null)
.Select(user=> user.Description));
uj5u.com熱心網友回復:
您可以在 lambda 運算式中執行檢查,因為它是一個典型的函式體(僅使用簡寫形式)。
var descriptions = string.Join(",", users.Select(user => user?.Description ?? string.Empty));
如果你想更有表現力:
var descriptions = string.Join(",", users.Select(user => string.IsNullOrEmpty(user?.Description) ? string.Empty : user.Description));
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/452620.html
上一篇:將串列發送到springmvc-@requestBody
下一篇:Ajax回傳空值/asp.net
