gpt4 book ai didi

c# - 有没有办法删除此代码中的重复项

转载 作者:太空狗 更新时间:2023-10-29 22:05:57 24 4
gpt4 key购买 nike

我有一个看起来像这样的方法:

   private double GetX()
{
if (Servings.Count > 0)
{
return Servings[0].X;
}
if (!string.IsNullOrEmpty(Description))
{
FoodDescriptionParser parser = new FoodDescriptionParser();
return parser.Parse(Description).X;
}
return 0;
}

我有另一种方法,看起来像这样:

  private double GetY()
{
if (Servings.Count > 0)
{
return Servings[0].Y;
}
if (!string.IsNullOrEmpty(Description))
{
FoodDescriptionParser parser = new FoodDescriptionParser();
return parser.Parse(Description).Y;
}
return 0;
}

有什么方法可以巩固这一点,因为唯一不同的是属性名称?

最佳答案

创建一个单独的 GetServing 方法:

private Serving GetServing() {
if (Servings.Count > 0)
return Servings[0];

if (!string.IsNullOrEmpty(Description)) {
FoodDescriptionParser parser = new FoodDescriptionParser();
return parser.Parse(Description);
}
return null;
}

private double GetX() {
Serving serving = GetServing();
if (serving == null) return 0;
return serving.X;
}

private double GetY() {
Serving serving = GetServing();
if (serving == null) return 0;
return serving.Y;
}

关于c# - 有没有办法删除此代码中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2708953/

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