سلام دوست عزیز ،
متاسفانه بنده سینکس VB رو فراموش کردم که کدشو براتون بنویسم اما امیدوارم شرح دادنش کمکتون کنه :
1- شما یک کلاس تعریف کنین که شامل خود کلمه ، شماره کلمه و شماره مترادفش باشه.
2- از اون کلاس یه لیست تعریف کنین که بتونیم هر بار یک عنصر(از نوع کلاسی که تعریف کردیم که شامل کلمه ، شماره کلمه و شماره مترادفش) بهش اضافه کنیم.
3- حالا هر وقت که بخوایم کل لیست رو پیمایش میکنیم و عناصر رو با هم مقایسه میکنیم و اگر کاربر صحیح انتخاب کرده بود از لیست حذفش میکنیم.
** البته این فقط برای زمانی جواب میده که هر کلمه فقط یک مترادف داشته باشه اگر هر کلمه بخواد n تا مترادف داشته باشه یکم پیچیده تر میشه.
تا حدودی با سی شارپ براتون پیاده سازی کردم که بهتون کمک میکنه روش رو درک کنین ولی زحمت تبدیلش به عهده خودتون
public static class cWords
{
/// <summary>
/// لیستی که کلمات ما رو نگه میدارن ، در واقع لیستی از کلاس cWord
/// </summary>
public static List<cWord> WordList = new List<cWord>();
/// <summary>
/// کلاسی که یک کلمه + کد اون کلمه + کلمه مترادف + کد کلمه مترادف رو ذخیره میکنه
/// </summary>
public class cWord
{
/// <summary>
/// خود کلمه
/// </summary>
public string Word { get; set; }
/// <summary>
/// شماره کلمه
/// </summary>
public int WordID { get; set; }
/// <summary>
/// کلمه مترادف
/// </summary>
public string WordSysnonim { get; set; }
/// <summary>
/// شماره کلمه مترادف
/// </summary>
public int WordSysnonimID { get; set; }
public cWord(string Word, int WordID, string WordSysnonim, int WordSysnonimID)
{
this.Word = Word;
this.WordID = WordID;
this.WordSysnonim = WordSysnonim;
this.WordSysnonimID = WordSysnonimID;
}
}
public static void Add_Word(string Word, int WordID, string WordSysnonim, int WordSysnonimID)
{
WordList.Add(new cWord(Word, WordID, WordSysnonim, WordSysnonimID));
}
public static void Clear_List()
{
WordList.Clear();
}
public static bool Is_Words_Sysnonims(string Word1,string Word2)
{
foreach (cWord _Word in WordList)
{
if ((_Word.Word == Word1 && _Word.WordSysnonim == Word2) || (_Word.Word == Word2 && _Word.WordSysnonim == Word1))
{
return true;
}
}
return false;
}
public static bool Is_WordsID_Sysnonims(int Word1_ID, int Word2_ID)
{
foreach (cWord _Word in WordList)
{
if ((_Word.WordID == Word1_ID && _Word.WordSysnonimID == Word2_ID) || (_Word.WordID == Word2_ID && _Word.WordSysnonimID == Word1_ID))
{
return true;
}
}
return false;
}
}