﻿# 01. 动态二维格子数据结构 DynaGrid（GridKit）

之前介绍的 EasyGrid 只支持固定宽度和高度，但是在很多情况下我们需要一个动态宽高的二维格子数据结构。

于是 QFramework 增加了 DynaGrid。

示例代码如下:
``` csharp
using UnityEngine;

namespace QFramework.Example
{
    public class DynaGridExample : MonoBehaviour
    {
        public class MyData
        {
            public string Key;
        }

        void Start()
        {
            var dynaGrid = new DynaGrid<MyData>();
            dynaGrid[1, 1] = new MyData() { Key = ""Hero"" };
            dynaGrid[-1, -10] = new MyData() { Key = ""Enemy"" };

            dynaGrid.ForEach((x, y, data) => { Debug.Log($""{x} {y} {data.Key}""); });
        }
    }
}
```

运行后，代码如下:
``` 
// 1 1 Hero
// -1 -10 Enemy
```

好了这个就是关于 DynaGrid 的简单介绍。


本文由 QFramework 教程年会员赞助，地址：[https://www.gamepixedu.com/goods/show/55](https://www.gamepixedu.com/goods/show/55)

* QFramework 主页：[qframework.cn](https://qframework.cn)
* QFramework 交流群: 541745166 
* QFramework Github 地址: <https://github.com/liangxiegame/qframework>
* QFramework Gitee 地址：<https://gitee.com/liangxiegame/QFramework>
