# CompletionChoice
Namespace: LLama.Types
```csharp
public class CompletionChoice : System.IEquatable`1[[LLama.Types.CompletionChoice, LLamaSharp, Version=0.2.0.0, Culture=neutral, PublicKeyToken=null]]
```
Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [CompletionChoice](./llama.types.completionchoice.md)
Implements [IEquatable<CompletionChoice>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1)
## Properties
### **Text**
```csharp
public string Text { get; set; }
```
#### Property Value
[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
### **Index**
```csharp
public int Index { get; set; }
```
#### Property Value
[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
### **Logprobs**
```csharp
public CompletionLogprobs Logprobs { get; set; }
```
#### Property Value
[CompletionLogprobs](./llama.types.completionlogprobs.md)
### **FinishReason**
```csharp
public string FinishReason { get; set; }
```
#### Property Value
[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
## Constructors
### **CompletionChoice(String, Int32, CompletionLogprobs, String)**
```csharp
public CompletionChoice(string Text, int Index, CompletionLogprobs Logprobs, string FinishReason)
```
#### Parameters
`Text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
`Index` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
`Logprobs` [CompletionLogprobs](./llama.types.completionlogprobs.md)
`FinishReason` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
## Methods
### **ToString()**
```csharp
public string ToString()
```
#### Returns
[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
### **PrintMembers(StringBuilder)**
```csharp
protected bool PrintMembers(StringBuilder builder)
```
#### Parameters
`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
#### Returns
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **GetHashCode()**
```csharp
public int GetHashCode()
```
#### Returns
[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
### **Equals(Object)**
```csharp
public bool Equals(object obj)
```
#### Parameters
`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
#### Returns
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **Equals(CompletionChoice)**
```csharp
public bool Equals(CompletionChoice other)
```
#### Parameters
`other` [CompletionChoice](./llama.types.completionchoice.md)
#### Returns
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **<Clone>$()**
```csharp
public CompletionChoice $()
```
#### Returns
[CompletionChoice](./llama.types.completionchoice.md)
### **Deconstruct(String&, Int32&, CompletionLogprobs&, String&)**
```csharp
public void Deconstruct(String& Text, Int32& Index, CompletionLogprobs& Logprobs, String& FinishReason)
```
#### Parameters
`Text` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
`Index` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
`Logprobs` [CompletionLogprobs&](./llama.types.completionlogprobs&.md)
`FinishReason` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)