# ConversationBranch

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/api/tracon.conversationbranch/
> Summary: ConversationBranch: A conversation branch's store-level result.

<div class="api-provenance">Namespace Tracon · Assembly <code>Tracon.Abstractions.dll</code></div>

A conversation branch's store-level result.

```csharp
public readonly struct ConversationBranch : IEquatable<ConversationBranch>
```

<dl class="api-relations"><dt>Implements</dt><dd><a href="https://learn.microsoft.com/dotnet/api/system.iequatable-1">IEquatable&lt;ConversationBranch&gt;</a></dd><dt>Inherited Members</dt><dd><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></dd></dl>

## Constructors

### <a id="Tracon_ConversationBranch__ctor_System_Guid_System_Int64_System_Int32_"></a> ConversationBranch\(Guid, long, int\)

A conversation branch's store-level result.

```csharp
public ConversationBranch(Guid ConversationId, long BranchFromSequence, int CopiedItemCount)
```

#### Parameters

`ConversationId` [Guid](https://learn.microsoft.com/dotnet/api/system.guid)

The new conversation's identifier.

`BranchFromSequence` [long](https://learn.microsoft.com/dotnet/api/system.int64)

The sequence number of the last item copied; `-1` if no item was copied.

`CopiedItemCount` [int](https://learn.microsoft.com/dotnet/api/system.int32)

The number of items copied.

## Properties

### <a id="Tracon_ConversationBranch_BranchFromSequence"></a> BranchFromSequence

The sequence number of the last item copied; `-1` if no item was copied.

```csharp
public long BranchFromSequence { get; init; }
```

#### Property Value

 [long](https://learn.microsoft.com/dotnet/api/system.int64)

### <a id="Tracon_ConversationBranch_ConversationId"></a> ConversationId

The new conversation's identifier.

```csharp
public Guid ConversationId { get; init; }
```

#### Property Value

 [Guid](https://learn.microsoft.com/dotnet/api/system.guid)

### <a id="Tracon_ConversationBranch_CopiedItemCount"></a> CopiedItemCount

The number of items copied.

```csharp
public int CopiedItemCount { get; init; }
```

#### Property Value

 [int](https://learn.microsoft.com/dotnet/api/system.int32)

## Methods

### <a id="Tracon_ConversationBranch_Deconstruct_System_Guid__System_Int64__System_Int32__"></a> Deconstruct\(out Guid, out long, out int\)

```csharp
public void Deconstruct(out Guid ConversationId, out long BranchFromSequence, out int CopiedItemCount)
```

#### Parameters

`ConversationId` [Guid](https://learn.microsoft.com/dotnet/api/system.guid)

`BranchFromSequence` [long](https://learn.microsoft.com/dotnet/api/system.int64)

`CopiedItemCount` [int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="Tracon_ConversationBranch_Equals_System_Object_"></a> Equals\(object\)

```csharp
public override bool Equals(object obj)
```

#### Parameters

`obj` [object](https://learn.microsoft.com/dotnet/api/system.object)

#### Returns

 [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="Tracon_ConversationBranch_Equals_Tracon_ConversationBranch_"></a> Equals\(ConversationBranch\)

```csharp
public bool Equals(ConversationBranch other)
```

#### Parameters

`other` [ConversationBranch](/api/tracon.conversationbranch/)

#### Returns

 [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="Tracon_ConversationBranch_GetHashCode"></a> GetHashCode\(\)

```csharp
public override int GetHashCode()
```

#### Returns

 [int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="Tracon_ConversationBranch_ToString"></a> ToString\(\)

```csharp
public override string ToString()
```

#### Returns

 [string](https://learn.microsoft.com/dotnet/api/system.string)

## Operators

### <a id="Tracon_ConversationBranch_op_Equality_Tracon_ConversationBranch_Tracon_ConversationBranch_"></a> operator ==\(ConversationBranch, ConversationBranch\)

```csharp
public static bool operator ==(ConversationBranch left, ConversationBranch right)
```

#### Parameters

`left` [ConversationBranch](/api/tracon.conversationbranch/)

`right` [ConversationBranch](/api/tracon.conversationbranch/)

#### Returns

 [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="Tracon_ConversationBranch_op_Inequality_Tracon_ConversationBranch_Tracon_ConversationBranch_"></a> operator \!=\(ConversationBranch, ConversationBranch\)

```csharp
public static bool operator !=(ConversationBranch left, ConversationBranch right)
```

#### Parameters

`left` [ConversationBranch](/api/tracon.conversationbranch/)

`right` [ConversationBranch](/api/tracon.conversationbranch/)

#### Returns

 [bool](https://learn.microsoft.com/dotnet/api/system.boolean)
