【发布时间】:2020-12-08 22:24:17
【问题描述】:
我有一个物品清单。例如(尽管列表可以是任意长度):
var inputList = new List<Input1>()
{
new Input1() { Test = "a" },
new Input1() { Test = "b" }
};
我想做的是创建一个新列表:
a1, a2, b8, b9
这是Test的值(即a),后缀基于Test的值。
按这个顺序。显然,这是一个最小的可行示例,而不是实际问题。所以我想用.Select之类的东西来分割数据——像这样:
var outputList = inputList.Select(x =>
{
if (x.Test == "a")
{
return new Input1() { Test = "a1" };
//return new Input1() { Test = "a2" };
}
else if (x.Test == "b")
{
return new Input1() { Test = "b8" };
//return new Input1() { Test = "b9" };
}
else
{
return x;
}
});
Input1 完整性:
class Input1
{
public string Test { get; set; }
}
也就是说,返回一个列表,其中包含不在原始列表中的项目。
我知道我可以使用foreach,但如果有更好/更简洁的方法,我很感兴趣。
【问题讨论】:
-
什么是
Input1?a1, a2, b8, b9是什么?1、2、8和9是如何出现在其中的?注释行(a1和b9)无助于理解问题。