小编Jam*_*ill的帖子

创建一个通用函数将数组转换为C#中的字典

我有一个包含两个公共变量的结构.我已经创建了该结构的数组,并希望将其转换为Dictionary.

这是一种实现这种方法的方法:

public class TestClass
{
    public struct KeyValuePairs
    {
        public string variableOne;
        public float variableTwo
    }

    private KeyValuePairs[] keyValuePairs;

    private Dictionary<string, float> KeyValuePairsToDictionary()
    {
        Dictionary<string, float> dictionary = new Dictionary<string, float>();

        for(int i = 0; i < keyValuePairs.Length; i++)
        {
            dictionary.Add(keyValuePairs[i].variableOne, keyValuePairs[i].variableTwo);
        }

        return dictionary;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,这适用于我的特定设置,但我希望尝试将该KeyValuePairsToDictionary()函数转换为Generic,以便它可以适用于所有类型.

那么我的第一个想法是做这样的事情:

private Dictionary<T, T> ArrayToDictionary<T>(T[] array)
{
    Dictionary<T, T> keyValuePairs = new Dictionary<T, T>();

    for(int i = 0; i < array.Length; i++)
    {
        keyValuePairs.Add(array[i], array[i]); //The problem is right …
Run Code Online (Sandbox Code Playgroud)

c# arrays generics dictionary unity-game-engine

1
推荐指数
1
解决办法
144
查看次数

标签 统计

arrays ×1

c# ×1

dictionary ×1

generics ×1

unity-game-engine ×1