# ChatCompletionChoice Namespace: LLama.OldVersion ```csharp public class ChatCompletionChoice : System.IEquatable`1[[LLama.OldVersion.ChatCompletionChoice, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] ``` Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ChatCompletionChoice](./llama.oldversion.chatcompletionchoice.md)
Implements [IEquatable<ChatCompletionChoice>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) ## Properties ### **Index** ```csharp public int Index { get; set; } ``` #### Property Value [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
### **Message** ```csharp public ChatCompletionMessage Message { get; set; } ``` #### Property Value [ChatCompletionMessage](./llama.oldversion.chatcompletionmessage.md)
### **FinishReason** ```csharp public string FinishReason { get; set; } ``` #### Property Value [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
## Constructors ### **ChatCompletionChoice(Int32, ChatCompletionMessage, String)** ```csharp public ChatCompletionChoice(int Index, ChatCompletionMessage Message, string FinishReason) ``` #### Parameters `Index` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
`Message` [ChatCompletionMessage](./llama.oldversion.chatcompletionmessage.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(ChatCompletionChoice)** ```csharp public bool Equals(ChatCompletionChoice other) ``` #### Parameters `other` [ChatCompletionChoice](./llama.oldversion.chatcompletionchoice.md)
#### Returns [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **<Clone>$()** ```csharp public ChatCompletionChoice $() ``` #### Returns [ChatCompletionChoice](./llama.oldversion.chatcompletionchoice.md)
### **Deconstruct(Int32&, ChatCompletionMessage&, String&)** ```csharp public void Deconstruct(Int32& Index, ChatCompletionMessage& Message, String& FinishReason) ``` #### Parameters `Index` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
`Message` [ChatCompletionMessage&](./llama.oldversion.chatcompletionmessage&.md)
`FinishReason` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)