> For the complete documentation index, see [llms.txt](https://docs.yarnspinner.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yarnspinner.dev/api/csharp/yarn/yarn.program.md).

# Program

Class in [Yarn](/api/csharp/yarn.md)

Inherits from `System.Object`

## Summary

A compiled Yarn program.

```csharp
public class Program
```

## Methods

| Name                                                                                             | Description                                                                                                     |
| ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
| [GetVariableKind(string)](/api/csharp/yarn/yarn.program/yarn.program.getvariablekind.md)         | Gets a value indicating the kind of variable `name` represents.                                                 |
| [LineIDsForNode(string)](/api/csharp/yarn/yarn.program/yarn.program.lineidsfornode.md)           | Identifies and returns a list of all line and option IDs inside the node.                                       |
| [ToString()](/api/csharp/yarn/yarn.program/yarn.program.tostring.md)                             |                                                                                                                 |
| [TryGetInitialValue(string,T)](/api/csharp/yarn/yarn.program/yarn.program.trygetinitialvalue.md) | Attempts to fetch a value for a variable named `variableName` from this program's collection of initial values. |

## Properties

| Name                                                                         | Description                                                                                                                                                |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [InitialValues](/api/csharp/yarn/yarn.program/yarn.program.initialvalues.md) | The collection of initial values for variables; if a PUSH\_VARIABLE instruction is run, and the value is not found in the storage, this value will be used |
| [Name](/api/csharp/yarn/yarn.program/yarn.program.name.md)                   | The name of the program.                                                                                                                                   |
| [Nodes](/api/csharp/yarn/yarn.program/yarn.program.nodes.md)                 | The collection of nodes in this program.                                                                                                                   |
