# Queues (/sdks/csharp/reference/queues)



Send messages with `SendQueueMessageAsync`, receive them with `ReceiveQueueMessagesAsync`, and lean on streaming helpers for high-throughput scenarios (see examples for stream send/receive, policies, and poll mode).

## Simple Queues [#simple-queues]

### SendQueueMessageAsync [#sendqueuemessageasync]

```csharp
Task<QueueSendResult> SendQueueMessageAsync(QueueMessage message, CancellationToken ct = default);
```

**QueueMessage fields:**

| Property            | Type                   | Description              |
| ------------------- | ---------------------- | ------------------------ |
| `Channel`           | `string`               | Target queue             |
| `Body`              | `ReadOnlyMemory<byte>` | Payload                  |
| `Metadata`          | `string?`              | Metadata                 |
| `DelaySeconds`      | `int?`                 | Initial delay in seconds |
| `ExpirationSeconds` | `int?`                 | TTL in seconds           |
| `MaxReceiveCount`   | `int?`                 | Retry budget             |
| `MaxReceiveQueue`   | `string?`              | DLQ channel              |

### ReceiveQueueMessagesAsync [#receivequeuemessagesasync]

```csharp
Task<QueuePollResponse> ReceiveQueueMessagesAsync(QueuePollRequest request, CancellationToken ct = default);
```

Each `QueueMessageReceived` exposes `AckAsync()`, `NackAsync()`, and `ReQueueAsync(channel)` for manual settlement.

## Queue Streaming [#queue-streaming]

Streaming APIs (upstream/downstream, ack ranges, policies) are described in the [Queues examples](/sdks/csharp/how-to/queues/). Use those walkthroughs for `IAsyncEnumerable` consumption patterns and policy configuration.

## Quick Usage [#quick-usage]

```csharp title="Queues.cs"
await client.SendQueueMessageAsync(new QueueMessage
{
    Channel = "jobs",
    Body = payload,
});
```

## See Also [#see-also]

* [Queues Examples](/sdks/csharp/how-to/queues/)
* [Queues pattern](/learn/queues/getting-started)
* [C# SDK Getting Started](/sdks/csharp)
