I'm trying to recreate a program I made with C++ int a C# windows form program I have the bulk of it done but there's one small thing thats keeping the program from working like it should.
**my program is a bionformatics program that allows the user to either enter a string/sequence of DNA or RNA characters and the program converts it into the corresponding protein/amino acid and prints out an amino acid/protein for every codon the program sees so if I input "AAA GGG CCC" it prints out "Lysine Glycine Proline"**

this is the snippet of code I'm having trouble with in the c++ version
Code:
    for (i=0; i<numberOfCodons;i++)
	{
		
		endIndex=beginIndex+3;
		codon="";
		
		{
//here is where I'm having the trouble converting this to C# and have it cout the write
//way
Code:
    codon.append(RNA.substr(beginIndex,endIndex-beginIndex));

		}
		for (k=0;k<64;k++)
		{
			if(codon==codons[k])
			{
//here is where I'm having the trouble converting this to C# and have it cout the write way
like I metioned previously AAA GGG CCC couts Lysine Glycine Proline
Code:
   
    protein.append(aminoAcids[k]);
				
			}
			
		}
		beginIndex+=3;
	}
	cout<<protein<<endl;
	protein.clear();
heres what I have in c# so far
Code:
    private void Tranlate_Click(object sender, EventArgs e)
        {
            numberOfCodons = rnaLength / 3;
            beginIndex = 0;
            richTextBox2.AppendText("Total Number Of codons are: ");
            richTextBox2.AppendText(numberOfCodons.ToString());
            richTextBox2.AppendText("\n");
            for (i = 0; i < numberOfCodons; i++)
            {

                endIndex = beginIndex + 3;
                codon = "";
                
                {
//these are the two possible conversions of the C++ code that dont work at all for me******

Code:
    // codon.AppendText(RNA.Substring(beginIndex, endIndex - beginIndex));
                    codon=(RNA.Substring(beginIndex, endIndex - beginIndex));

                }
                for (k = 0; k < 64; k++)
                {
                    if (codon == codons[k])
                    {
//supposed to print out all the coresponding amino acids from the array and it will only print out one amino acid (Lysine)*******
Code:
                     
    //protein.AppendText(aminoAcids[k]);
                        protein = (aminoAcids[k]);
                    }

                }
                beginIndex += 3;
            }
            richTextBox2.AppendText(protein);
            richTextBox2.AppendText("\n");
            //protein.clear();   

        }
Why is it doing this and how can I fix it???

heres the C++ code in full
Code:
#include<iostream>
#include <string>
#include<fstream>
using namespace std;

int main()
{
	
	int numberOfCodons;
	int rnaLength;
	int beginIndex;
	int endIndex;
	int i,j,k;
	string codons[64] = {"UUU","UUC","UUA","UUG","UCU","UCC","UCA","UCG","UAU","UAC","UAA","UAG","UGU","UGC","UGA","UGG", 
						 "CUU","CUC","CUA","CUG","CCU","CCC","CCA","CCG","CAU","CAC","CAA","CAG","CGU","CGC","CGA","CGG",
						 "AUU","AUC","AUA","AUG","ACU","ACC","ACA","ACG","AAU","AAC","AAA","AAG","AGU","AGC","AGA","AGG",
						 "GUU","GUC","GUA","GUG","GCU","GCC","GCA","GCG","GAU","GAC","GAA","GAG","GGU","GGC","GGA","GGG"};
	string aminoAcids[64]={"Phenylalanine","Phenylalanine","Leucine","Leucine", "Serine","Serine","Serine","Serine","Tyrosine","Tyrosine", "Stop","Stop", "Cysteine","Cysteine","Stop", "Tryptophan",
						   "Leucine","Leucine","Leucine","Leucine","Proline","Proline","Proline","Proline","Histidine","Histidine","Glutamine","Glutamine","Arginine","Arginine","Arginine","Arginine",
						   "Isoleucine","Isoleucine","Isoleucine","Methionine","Threonine","Threonine","Threonine","Threonine","Asparagine","Asparagine","Lysine","Lysine","Serineine","Serineine","Arginine","Arginine",
							"Valine","Valine","Valine","Valine","Alanine","Alanine","Alanine","Alanine","Aspartate","Aspartate","Glutamate","Glutamate","Glycine","Glycine","Glycine","Glycine"};
	string codon="";
	string protein="";
	string RNA;
	cout<<"   To begin translation    "<<endl;
	cout<<"Please enter RNA sequence: "<<endl;

	cin>>RNA;
	cout<<endl;
	rnaLength=RNA.length();
	for(int i=0; i<RNA.length(); i+=3){
    
    cout<<RNA[i];
	if(i+1 < RNA.length())
        cout<<RNA[i+1];
	if(i+2 < RNA.length())
        cout<<RNA[i+2];
		cout<<" ";
}
	cout<<endl;
	numberOfCodons=rnaLength/3;
	beginIndex=0;
	cout<<"Total Number Of codons are: "<<numberOfCodons<<endl;
	for (i=0; i<numberOfCodons;i++)
	{
		
		endIndex=beginIndex+3;
		codon="";
		
		{
			codon.append(RNA.substr(beginIndex,endIndex-beginIndex));

		}
		for (k=0;k<64;k++)
		{
			if(codon==codons[k])
			{
				protein.append(aminoAcids[k]);
				
			}
			
		}
		beginIndex+=3;
	}
	cout<<protein<<endl;
	protein.clear();
	
	/*fstream file;//declaring an object called file (the object is like the file key)
	file.open("IOResults.txt",ios::out);//file object used to open and create a file called IOResults (can be open and read from sub-function 2)
	file<<RNA[i]<<endl;
	file<<codon<<endl;
	file<<numberOfCodons<<endl;
	file<<protein<<endl;
	file.close();//object used to close the file*/

	system("PAUSE");
		return 0;
}
heres the C# code in full
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace bioinformaticsCal
{

    public partial class Form1 : Form
    {
        int numberOfCodons;
		int rnaLength;
		int beginIndex;
		int endIndex;
		int i;
		int j;
		int k;
		string[] codons = {"UUU","UUC","UUA","UUG","UCU","UCC","UCA","UCG","UAU","UAC","UAA","UAG","UGU","UGC","UGA","UGG", "CUU","CUC","CUA","CUG","CCU","CCC","CCA","CCG","CAU","CAC","CAA","CAG","CGU","CGC","CGA","CGG", "AUU","AUC","AUA","AUG","ACU","ACC","ACA","ACG","AAU","AAC","AAA","AAG","AGU","AGC","AGA","AGG", "GUU","GUC","GUA","GUG","GCU","GCC","GCA","GCG","GAU","GAC","GAA","GAG","GGU","GGC","GGA","GGG"};
		string[] aminoAcids = {"Phenylalanine","Phenylalanine","Leucine","Leucine", "Serine","Serine","Serine","Serine","Tyrosine","Tyrosine", "Stop","Stop", "Cysteine","Cysteine","Stop", "Tryptophan", "Leucine","Leucine","Leucine","Leucine","Proline","Proline","Proline","Proline","Histidine","Histidine","Glutamine","Glutamine","Arginine","Arginine","Arginine","Arginine", "Isoleucine","Isoleucine","Isoleucine","Methionine","Threonine","Threonine","Threonine","Threonine","Asparagine","Asparagine","Lysine","Lysine","Serineine","Serineine","Arginine","Arginine", "Valine","Valine","Valine","Valine","Alanine","Alanine","Alanine","Alanine","Aspartate","Aspartate","Glutamate","Glutamate","Glycine","Glycine","Glycine","Glycine"};
		string codon = "";
		string protein = "";
		string RNA;

        public Form1()
        {
            InitializeComponent();
        }
        
       List<sampleInfo> Strings = new List<sampleInfo>();  
        private void Form1_Load(object sender, EventArgs e)
        {
            string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            if (!Directory.Exists(path + "\\Bioinformatics Data Files - Jason"))
            Directory.CreateDirectory(path + "\\Bioinformatics Data Files - Jason");
            if(!File.Exists(path + "\\Bioinformatics Data Files - Jason\\settings.xml"))
            File.Create((path + "\\Bioinformatics Data Files - Jason\\settings.xml"));
            File.Create((path + "\\Bioinformatics Data Files - Jason\\TextFiles.txt"));
            
        }

       

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog Fd = new OpenFileDialog();
            if (Fd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                StreamReader Sr = new StreamReader(File.OpenRead(Fd.FileName));
                        RNA =Sr.ReadToEnd();               
                        rnaLength = RNA.Length;
            for (int i = 0; i < RNA.Length; i += 3)
            {
                
                richTextBox1.AppendText(RNA[i].ToString());
                if (i + 1 < RNA.Length)
                {
                 richTextBox1.AppendText(RNA[i + 1].ToString());
                }
                if (i + 2 < RNA.Length)
                {
                 richTextBox1.AppendText(RNA[i + 2].ToString());
                }
                richTextBox1.AppendText(" ");
            }
           
            
         }
          
      }
        private void Tranlate_Click(object sender, EventArgs e)
        {
            numberOfCodons = rnaLength / 3;
            beginIndex = 0;
            richTextBox2.AppendText("Total Number Of codons are: ");
            richTextBox2.AppendText(numberOfCodons.ToString());
            richTextBox2.AppendText("\n");
            for (i = 0; i < numberOfCodons; i++)
            {

                endIndex = beginIndex + 3;
                codon = "";
                
                {
                    //supposed to print all the coresponding codons in entirety***********************************************************
                   // codon.AppendText(RNA.Substring(beginIndex, endIndex - beginIndex));
                    codon=(RNA.Substring(beginIndex, endIndex - beginIndex));

                }
                for (k = 0; k < 64; k++)
                {
                    if (codon == codons[k])
                    {
                        //supposed to print out all the coresponding amino acids from the array************************************************
                        //protein.AppendText(aminoAcids[k]);
                        protein = (aminoAcids[k]);
                    }

                }
                beginIndex += 3;
            }
            richTextBox2.AppendText(protein);
            richTextBox2.AppendText("\n");
            //protein.clear();   

        }

        private void button2_Click(object sender, EventArgs e)
        {

        }

        private void Reset(object sender, EventArgs e)
        {
           
        }

        private void richTextBox3_Load(object sender, EventArgs e)
        {
            string[] words =
	    {
		"To begin process ", "Either (A) Enter DNA or RNA sequence", "Or (B) open File dialog and select file" 
		
	    };

            for (int i = 0; i < words.Length; i++)
            {
                string word = words[i];

                {

                    richTextBox3.AppendText(word);

                    richTextBox3.AppendText("\r\n");

                    
                }

            }
        }

    }
        class sampleInfo 
        {
            public string sampleSource
            {
                get;
                set;
            }
            public string sampleReference
            {
                get;
                set;
            }
            public string sampleType
            {
                get;
                set;
            }
            public string fileName
            {
                get;
                set;

            }
            public string fileContent
            {
                get;
                set;
            }
            public string conversionResults
            {
                get;
                set;
            }
            public string richTextBox3
            {
                get;
                set;
            }
        }
}