# Program

Class in [Yarn](https://docs.yarnspinner.dev/api/csharp/yarn)

Inherits from `System.Object`

## Summary

A compiled Yarn program.

```csharp
public class Program
```

## Methods

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

## Properties

| Name                                                                                                  | Description                                                                                                                                                |
| ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [InitialValues](https://docs.yarnspinner.dev/api/csharp/yarn/yarn.program/yarn.program.initialvalues) | 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](https://docs.yarnspinner.dev/api/csharp/yarn/yarn.program/yarn.program.name)                   | The name of the program.                                                                                                                                   |
| [Nodes](https://docs.yarnspinner.dev/api/csharp/yarn/yarn.program/yarn.program.nodes)                 | The collection of nodes in this program.                                                                                                                   |
