在C#中是否可以在一个列表中添加两个参数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C#中是否可以在一个列表中添加两个参数?相关的知识,希望对你有一定的参考价值。

我想知道如何将两个参数添加到一个列表中,这样我就可以将它们放在同一个列表中。我有一个gameobjects的列表,我想为该gameobjects "配对 "一个计时器,这样我就可以看到它在触发器中的时间。很明显,我仍然需要做定时器之类的东西(如果你有任何关于如何做的建议,请告诉我)以及触发器退出之类的东西,但这是我的代码。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class Grill : MonoBehaviour

    public int time = 0; // The amount of time the object was collided with;
    public int maxTime = 20; // The amount of time before the loop stops.

    public List<GameObject> grilledItems = new List<GameObject>();

    private void OnTriggerEnter(Collider other)
    
        if(other.gameObject.CompareTag("Cookable"))
        
            grilledItems.Add(other.gameObject);
        
    

答案

我认为你不应该把它弄得这么复杂。 如果你需要它,使用一个 Map. 如果不是结构是你的朋友。

public struct GrilledItemType

    public GameObject grilledObject;
    public Timer      timer;
;

那么只要

public List<GrilledItemType> grilledItems = new List<GrilledItemType>();
另一答案

使用 元组:

new List<(GameObject gameObj, Timer associatedTimer)>();

以上是关于在C#中是否可以在一个列表中添加两个参数?的主要内容,如果未能解决你的问题,请参考以下文章

C# 中的多维数组列表或列表?

C# 方法签名以及怎样的两个方法才算是不同的方法

是否可以(以及如何)在 C# 运行时将 ConnectionString 添加到 app.config?

C# - 在整个项目中可访问的变量和列表

C# foreach 列表元素在列表中添加一个 AddField

如何从两个列表框保存文件c#