sách gpt4 ai đã đi

c# - 如何有条件地对两个列表的字段求和

In lại 作者:行者123 更新时间:2023-11-30 22:15:42 25 4
mua khóa gpt4 Nike

我需要对两个列表的 X 和 Y 字段求和,但第一个 ID 等于第二个 ID。

我的代码:

//Program.cs

//(...)

class Point
{
public int Id { get; set; }
public int X { get; set; }
public int Y { get; set; }

public Point(int _Id, int _X, int _Y)
{
Id = _Id;
X = _X;
Y = _Y;
}
}

//(...)

List points = new List();
List sumsXY = new List();

//sum the X and Y of two lists, but points.Id must equal to sumsXY.Id
for (int i = 0; i < objcount; i++)
{
sumsXY[points[i].Id].X = sumsXY[points[i].Id].X + points[i].X;
sumsXY[points[i].Id].Y = sumsXY[points[i].Id].Y + points[i].Y;
}

需要帮助。

大卫

1 Câu trả lời

你在找这样的东西吗?

var sumsXY = points.GroupBy(x => x.Id)
.Select(g => new Point(g.Key, g.Sum(x => x.X),
g.Sum(x => x.Y)))
.ToList();

这会将具有相同 ID 的所有点组合在一起,并使用该组的 ID 以及该组中所有点的 X 和 Y 值的总和为每个组创建一个新点。

此答案假定 sumsXY 在此操作开始时为空。如果不是这种情况,您可能需要澄清您的问题并提供样本输入和预期输出。

关于c# - 如何有条件地对两个列表的字段求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17832590/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com