0

Student というクラスがあります。_ClassValues というプロパティがあります。これは基本的に、次のような値を持つ文字列キーと値のペアの IEnumerable です。

Student._ClassValues[0, 0] = "Class1"
Student._ClassValues[0, 1] = "Class2"
Student._ClassValues[0, 2] = "Class2"
Student._ClassValues[0, 3] = "Class1"
... So on.. 
Student._ClassValues[1, 1] = "Exam1"
Student._ClassValues[1, 2] = "Exam2"
Student._ClassValues[1, 3] = "Exam1"
... So on.. 

文字列「Class1」を含むすべての _ClassValues を取得する簡単な方法はありますか?

これらの値を取得するために多くのメソッドを作成しましたが、これを行うためのより良い方法があるはずですよね?

4

2 に答える 2

0

これはそれを行う必要があります:

List<KeyValuePair<int, int>> FindString(string[,] values, string search)
{
    var result = new List<KeyValuePair<int, int>>();
    for (int i = 0; i < values.GetLength(0); i++)
    {
        for (int j = 0; j < values.GetLength(1); j++)
        {
            if (values[i, j] == search)
            {
                result.Add(new KeyValuePair<int, int>(i, j));
            }
        }
    }
    return result;
}

次のように呼び出します。

var positions = FindString(Student._ClassValues, "Class1");
于 2013-10-02T20:02:38.707 に答える