unity使得list<属性>变量相加,属性里包括int类型float类型
时间: 2024-12-28 22:39:54 浏览: 3
在Unity中,如果你有一个`List<YourClass>`类型的变量,其中`YourClass`是一个包含`int`和`float`属性的对象,比如:
```csharp
public class MyClass {
public int IntValue;
public float FloatValue;
}
```
你想对所有对象的`IntValue`求和,对所有`FloatValue`求和,你可以这样做:
```csharp
MyClass[] myObjects = ... // 假设这是你的对象数组
int sumOfInts = 0;
float sumOfFloats = 0;
foreach (MyClass obj in myObjects) {
sumOfInts += obj.IntValue;
sumOfFloats += obj.FloatValue;
}
// 现在sumOfInts包含了所有对象的IntValue之和,sumOfFloats包含了所有对象的FloatValue之和
```
如果列表非常大,性能可能会是个问题,这时可以考虑使用LINQ的Sum函数:
```csharp
int sumOfInts = myObjects.Sum(obj => obj.IntValue);
float sumOfFloats = myObjects.Sum(obj => obj.FloatValue);
```
注意,这种方法仅适用于所有对象都存在相应属性的情况,否则`Sum`方法会在遇到null值时抛出异常。
阅读全文