我有一个名为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?
我创建了很多方法来获取这些值,但我知道有更好的方法可以做到这一点,是吗?
答案 0 :(得分:0)
您可以使用简单的foreach循环迭代二维数组中的所有值:
foreach (string value in Student._ClassValues)
{
if (value == "Class1")
{
// do something
}
}
答案 1 :(得分: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");