我觉得问这个有点傻,因为要么我错过了一些非常简单的东西,要么根本不理解 tryParse 函数。
用外行的话来说,我想要在下面的代码中做的是让代码循环遍历 datagridview 中的所有列。如果列名的最后 2 个字符是数字,那么我想将最后 2 个字符的数值(使用 int.TryParse)与另一个变量进行比较。本质上,我想让我的所有列只读那些最后 2 位数字可以转换为整数并且该整数大于我要比较的变量的列。
我下面的代码可能有点普通,因为我试图在 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;
}
}