c# - 将一个类的多个属性聚合成一个字符串
问题描述
class Employee {
string Name { get; set;}
string Title { get; set;}
}
由此我想构造一个字符串,其中包含每个员工的姓名和头衔。使用 for 循环很容易,但如果可能的话,我想使用 LINQ Aggregate 方法。
就像是:
char delim = ',';
string theList = employees.Aggregate((x, y) => $"[{x.Title}] {x.Name}" + delim + y);
我正在努力解决的是如何构建它。
有没有办法做到这一点,或者我应该回到 foreach 循环?
解决方案
你在找String.Join
吗?
string theList = string.Join(",", employees.Select(x => $"[{x.Title}] {x.Name}"));
employee
我们以所需的格式表示每个:
employees.Select(x => $"[{x.Title}] {x.Name}")
然后将Join
所有这些表示形式转换为单个字符串,","
用作分隔符。
推荐阅读
- node.js - 使用 GetStream.io 和 firebase 的正确用户创建流程?
- hugo - Hugo Academic 主题空白小部件中的图像未显示
- java - 使用 AspectJ 保存到文件
- python - reticulate 在 R 中调用 Python 给了我“空”的结果
- android - 如何为Android制作自动化应用程序
- regex - 使用 UNIX/Linux 操作(排除行) .csv 文件的特定列
- mysql - SQL SELECT 查询,组合匹配的行,在相等的地方使用一列值,在不相等的地方使用连接
- python - 如何将升序的连续数字标记到列中的值上?
- python - 如果使用 Python 在该行中有某个字符,如何删除/忽略字符串中的整行?
- angular - Angular 8:如何在没有刷新令牌的情况下刷新令牌