# C# API examples¶

This section lists a few examples in C#. These are the same files that can be found in the examples directory of the distribution, and show the basic usage of the C# API.

## Example 1: First steps¶

firstexample.cs

This example shows how to

• reassign values to parameters
• solve the model
• display the objective function value

## Example 2: Get and set AMPL options¶

optionsexample.cs

This example shows how to:

• get and set AMPL options

## Example 3: Use AMPL asynchronously¶

asyncexample.cs

This example shows how to:

• set a callback for AMPL async operation (implementing ampl::Runnable)
• start and interrupt async operations

## Example 4: Get and set data through DataFrames¶

dataframeexample.cs

This example shows how to:

• Use ampl::DataFrame objects to assign values to sets and parameters
• Use an ampl::DataFrame object to fetch and decouple values from a variable

## Example 5: Operate with multidimensional data¶

multidimensionalexample.cs

This example shows how to:

• Use a ampl::DataFrame to assign values to multidimensional parameters

## Example 6: Assign all data to a model and solve it¶

dietmodel.cs

This example shows how to:

• Assign all the data necessary to generate a model instance programmatically

## Example 7: Build an efficient frontier¶

efficientfrontier.cs

This example shows how to:

• build an efficient frontier by repeteatly solve a portfolio problem in AMPL

## Example 8: Simple heuristic¶

trackingmodel.cs

This example shows how to:

• Do a simple heuristics for solving a QMIP problem, using the relaxed solution as a hint

## Example 9: Simple heuristic¶

trackingmodel.cs

This example shows how to:

• Do a simple heuristics for solving a QMIP problem, using the relaxed solution as a hint

## Example 10: Redirecting output and error messages¶

OutputAndErrorRedirectionExample.cs

This example shows how to:

• Redirect the output and error messages from the underlying AMPL interpreter