Я чувствую себя глупо, спрашивая об этом, потому что либо я пропускаю что-то невероятно простое, либо вообще не понимаю функцию tryParse.Сравнивая значение результата int.TryParse
В терминах laymans то, что я хочу сделать в следующем коде, имеет цикл кода через все столбцы в datagridview. Если последние 2 символа имени столбца являются числовыми, я хочу сравнить числовое значение последних двух символов (используя int.TryParse) с другой переменной. по существу я хочу, чтобы все мои столбцы читали только expet для тех столбцов, где последние 2 цифры могут быть преобразованы в целое число, и это целое число больше, чем vairable, с которым я сравниваюсь.
Мой код ниже, вероятно, является немного обыденным, поскольку я пытаюсь пройти шаг за шагом, задавая переменные перед int_tryParse, но я могу исправить это позже.
C# VS2008:
foreach (DataGridViewColumn col in grd1.Columns)
{
string myCol = col.Name;
int myColLength = col.Name.Length;
string myColMonth = myCol.Substring(myColLength - 2);
if (int.TryParse(myColMonth, out myColMonth) <= myMostRecentActualMonth)
{
col.ReadOnly = true;
}
else
{
col.ReadOnly = false;
}
}
Спасибо, Майк. По сути, я придумал аналогичное решение, потому что вы знаете, конечно, после 40 минут работы над этим, я понял это через 10 минут после того, как я его разместил (вздох) –
@RyanWard - На самом деле огромная причина, по которой я отправляю вопросы по StackOverflow, это гарантирует, что я выясню это самостоятельно через 30 секунд. –