/// <summary> /// Kopyalanan veriyi yazdır. Words'ün üzerine yazar. /// </summary> /// <param name="value">Kopyalanan veri</param> public void AddValue(string value) { //Gelen value nun hangi indis olduğunu sapta = i //Bu indisin hangi modelde olduğunu bul //Bu modelde olup olmadığı: bool InThisModel = ValuesIndex.Values.Contains(i); //Eğer çift model varsa ve bu modelde değilse if (IsRecuriveBegined && !InThisModel) { Recurives.Value.AddValue(value); // Recurive modele ekle i++; //Bu model için de value artmış sayılır. } else //Bu modeldeyse { var wordIndices = ValuesIndex.Where(x => x.Value == i).Select(y => y.Key); foreach (var index in wordIndices) { Words[index] = value; } i++; //Recurive model varsa if (IsRecuriveBegined) { Recurives.Value.i++; //Recurive model için de değer arttır. } //Recurive yokken model tek başına bitebilir. if (!IsRecuriveBegined && i > ValuesIndex.Values.Max()) { Finish(); i = ValuesIndex.Values.Min(); } } }
/// <summary> /// Kelime olarak value gir. /// </summary> /// <param name="word">Value text'i</param> /// <param name="Value">Value index numarası - {0} için 0 -</param> public void AddWord(string word, int Value) { if (IsRecuriveBegining) { Recurives.Value.AddWord(word, Value); } else { Words.Add(word); ValuesIndex.Add(Words.Count - 1, Value); } }