# 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&)