# LLamaGrammarElement Namespace: LLama.Native An element of a grammar ```csharp public struct LLamaGrammarElement ``` Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ValueType](https://docs.microsoft.com/en-us/dotnet/api/system.valuetype) → [LLamaGrammarElement](./llama.native.llamagrammarelement.md)
Implements [IEquatable<LLamaGrammarElement>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) ## Fields ### **Type** The type of this element ```csharp public LLamaGrammarElementType Type; ``` ### **Value** Unicode code point or rule ID ```csharp public uint Value; ``` ## Constructors ### **LLamaGrammarElement(LLamaGrammarElementType, UInt32)** Construct a new LLamaGrammarElement ```csharp LLamaGrammarElement(LLamaGrammarElementType type, uint value) ``` #### Parameters `type` [LLamaGrammarElementType](./llama.native.llamagrammarelementtype.md)
`value` [UInt32](https://docs.microsoft.com/en-us/dotnet/api/system.uint32)
## Methods ### **Equals(LLamaGrammarElement)** ```csharp bool Equals(LLamaGrammarElement other) ``` #### Parameters `other` [LLamaGrammarElement](./llama.native.llamagrammarelement.md)
#### Returns [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **Equals(Object)** ```csharp bool Equals(object obj) ``` #### Parameters `obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
#### Returns [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **GetHashCode()** ```csharp int GetHashCode() ``` #### Returns [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
### **IsCharElement()** ```csharp bool IsCharElement() ``` #### Returns [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)