# GH_String class

Namespace: [Grasshopper.Kernel.Types](https://developer.rhino3d.com/api/gh1/namespace/grasshopper.kernel.types.md) · Assembly: [Grasshopper](https://developer.rhino3d.com/api/gh1/assembly/grasshopper.md)

```cs
public class GH_String : GH_Goo<string>, IGH_QuickCast
```

Represents a literal string. GH_String re-implements the framework System.String type.

**Derived types:** [AnnotationDateTimeFormat](https://developer.rhino3d.com/api/gh1/type/grasshopper.rhinoceros.annotations.annotationdatetimeformat.md)

## Constructors

- [GH_String](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/ctor.md): (3 overloads) Blank constructor

## Properties

- [IsValid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/isvalid.md): Gets the validity of this instance. String are valid if they are not null.
- [IsValidWhyNot](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/isvalidwhynot.md): Gets a string describing the state of "invalidness". If the instance is valid, then this property should return Nothing or String.Empty.
- [QC_Type](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-type.md)
- [TypeDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/typedescription.md)
- [TypeName](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/typename.md)

## Methods

- [CastFrom](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/castfrom.md)
- [CastTo<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/castto.md)
- [Duplicate](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/duplicate.md)
- [DuplicateString](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/duplicatestring.md)
- [EmitProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/emitproxy.md)
- [QC_Bool](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-bool.md)
- [QC_Col](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-col.md)
- [QC_CompareTo](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-compareto.md)
- [QC_Complex](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-complex.md)
- [QC_Distance](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-distance.md)
- [QC_Hash](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-hash.md)
- [QC_Int](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-int.md)
- [QC_Interval](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-interval.md)
- [QC_Matrix](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-matrix.md)
- [QC_Num](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-num.md)
- [QC_Pt](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-pt.md)
- [QC_Text](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-text.md)
- [QC_Vec](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/qc-vec.md)
- [Read](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/read.md)
- [ToString](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/tostring.md)
- [Write](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string/write.md)

## Inherited Members

- From [GH_Goo<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-goo-1.md): [m_value](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-goo-1/m-value.md), [Value](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-goo-1/value.md), [ScriptVariable](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-goo-1/scriptvariable.md)
