gpt4 book ai didi

c# - 抽象出两个几乎相同的方法,不同之处仅在于它们在对象列表上使用的属性

转载 作者:太空宇宙 更新时间:2023-11-03 22:35:37 25 4
gpt4 key购买 nike

我有两个独立的方法,方法的主要内容如下:

StringBuilder sb = new StringBuilder();
foreach(FooItem I in inventory)
{
sb.AppendFormat("{0},{1}…", i.Name, i.Volume);
}

File.WriteAllText(filename, sb.ToString();

所以在一种方法中我有 i.Volume,在另一种方法中它是 i.Price。这两种方法之间的唯一区别是列表中用于输出的对象的属性。

所以问题是我如何将它抽象出来,告诉它我想从给定的调用者那里使用哪个属性?

最佳答案

不需要抽象,用LINQ一个一个写就行了,一般我们不会抽象一行代码。

var volumeOutput = string.Join("...", volumnObjects.Select(x => $"{x.Name},{x.Volumn}"));
var priceOutput = string.Join("...", priceObjects.Select(x => $"{x.Name},{x.Price}"));

唯一不同的是你原来的程序在最后一项后面有“...”,不知道是不是你想要的。

关于c# - 抽象出两个几乎相同的方法,不同之处仅在于它们在对象列表上使用的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55332054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com