# QueryArchetypeChunk<T1, ...>

|Class/Struct Info|
|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|public readonly struct QueryArchetypeChunk<T1> : IEnumerable<ArchetypeChunk<T1>>where T1 : struct 查询结果的原型块集合，继承了IEnumerable<ArchetypeChunk<T1, ...>>，支持迭代访问。 T为struct，最多支持10个泛型。|

## Property Summary

|Name|Type|Description|
|:---------|:---|:----------|
|Count|int|查询实体数量。|
|ChunkCount|int|查询块数量。|

**Sample Code**

```screen
var world = new IECSWorld();
var query = world.Query<PgdPosition>();
world.CreateEntity(new PgdPosition());
// 查询匹配的实体数
query.ArchetypeChunk.Count; // 1
// 查询匹配的Archetype数
query.ArchetypeChunk.ChunkCount; // 1
```

## Method Summary

|Qualifier and Type|Method Name and Description|
|:--------------------------------|:---------------------------------------------------|
|string|[ToString](#section1031617010220)() 返回查询结果的原型块集合字符串。|
|ArchetypeChunkEnumerator<T1, ...>|[GetEnumerator](#section673651513146)() 获取原型块枚举器。|

## Methods

### ToString

|Method|
|:---------------------------------|
|string ToString() 返回查询结果的原型块集合字符串。|

**Return**

|Type|Description|
|:-----|:-------------|
|string|查询结果的原型块集合字符串。|

**Sample Code**

```screen
var world = new IECSWorld();
var query = world.Query<PgdPosition>();
world.CreateEntity(new PgdPosition());
// 打印QueryArchetypeChunk信息。预设组件/标签命名域为"Pgd."，自定义组件/标签/共享组件根据实际情况而定
query.ArchetypeChunk.ToString(); // "ArchetypeChunkCount: {1}, Components: [Pgd.PgdPosition]"
```

### GetEnumerator

|Method|
|:----------------------------------------------------------|
|ArchetypeChunkEnumerator<T1, ...> GetEnumerator() 获取原型块枚举器。|

**Return**

|Type|Description|
|:--------------------------------|:----------------|
|ArchetypeChunkEnumerator<T1, ...>|原型块枚举器。 T为struct。|

**Sample Code**

```screen
var world = new IECSWorld();
var query = world.Query<PgdPosition>();
// foreach自动调用GetEnumerator()，遍历ArchetypeChunk
foreach(var chunk in query.ArchetypeChunk)
{
    /*处理逻辑*/
}
```

