C#如何用泛型集合判断四则表达式中的括号是否正确配对

自定义一个类JudgeBracketsMatched,其中定义方法public static bool IsMatched(string expression),接受字符串形式的四则运算表达式,返回bool值以表明其中的括号是否正确配对。建议使用泛型集合System.Collections.Generic.Stack。

判断括号配对我会,泛型我也了解,可就是看不懂这题目,泛型和判断括号该如何结合到一起?感觉这两东西完全没关系呀,还是我把题目理解错了?求具体代码,下面是我写的代码,除了没用到泛型外其他一切正常。

using System;

namespace test1
{
    class JudgeBracketsMatched
    {
        public static bool IsMatched(string expression)
        {
            int i = 0, left = 0, right = 0;
            for (i = 0; i < expression.Length; i++)
            {
                if (expression[i].Equals('('))
                    left++;
                if (expression[i].Equals(')'))
                    right++;
            }
            if (left == right)
                return true;
            else
                return false;
        }
    }
    class Mainclass
    {
        static void Main()
        {
            string s1 = null;
            Console.WriteLine("请输入表达式:");
            s1=Console.ReadLine();
            if (JudgeBracketsMatched.IsMatched(s1))
                Console.WriteLine("括号正确配对");
            else
                Console.WriteLine("括号没有正确配对");
        }
    }

}

估计题目的意思是让你使用 Stack<T>
比如 Stack<char>
遇到 (,就push,遇到)就pop,最后检查Stack是否为空。