簡體   English   中英

在字符串中搜索單詞並進行比較

[英]Searching for words in a string and comparing them

我無法想出一個單詞搜索代碼,當單詞的 position 發生變化時,該單詞仍然是 output


    class Program
    {

        static void Main(string[] arg)
        {

            Console.OutputEncoding = System.Text.Encoding.Unicode;
            Console.InputEncoding = System.Text.Encoding.Unicode;

            var srd = new MultiSet<Garders>()
            {
                new Garders("ірис, троянда, айстра, півонія, жоржин"),
                new Garders("ірис, троянда, айстра, півонія, жоржин, хризантема, гладіолус"),
                new Garders("ірис, троянда, айстра, півонія, гладіолус")

            };
            MultiSet<Garders>.Enumerator e = srd.GetEnumerator();
            string[] temp = new string[3];
            for (int i = 0; i < temp.Length; i++)
            {
                e.MoveNext();
                temp[i] = e.Current.flower;
            }
            e.Reset();
            while (e.MoveNext())
            {
                
                string[] srt = e.Current.flower.Split();

                foreach (var item in srt)
                {
                    if (temp[0].Contains(item) == temp[1].Contains(item) 
                        && temp[1].Contains(item) == temp[2].Contains(item))
                            Console.WriteLine(item);
                }
                Console.WriteLine();

            }
                
        }

    }
}

如果它們位於相同的位置,我的代碼只會輸出相同的詞

你已經寫了非常復雜的邏輯,如果你仔細閱讀問題陳述,應該很容易。

根據評論中的討論,您想比較兩個 collections 是否具有相同順序的相同項目。

您可以使用List

並這樣比較。

List<string> ls1 = new List<string>() { "1", "2"};
List<string> ls2 = new List<string>() { "1", "2" };
bool isEqual = ls1.SequenceEqual(ls2);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM