我正在修改另一个开发人员的代码,并且在这种情况下,我不知道字符串后的[0]括号意味着什么,有人可以向我解释吗?我首先想到的是它是指GridView1的第一列,但这不是指定列的正确方法吗?顺便说一句,if语句中的字符串值是表示为字符串的7位数字。第一列是DataKey列。
if (GridView1.SelectedValue.ToString()[0] != '5' && GridView1.SelectedValue.ToString().Substring(0, 2) != "95")
{
LinkButton1.Visible = false;
LinkButton2.Visible = false;
}
else
{
LinkButton1.Visible = true;
LinkButton2.Visible = true;
}
答案 0 :(得分:2)
String Accessing Individual Characters
您可以将数组符号与索引值一起使用以获取只读 访问单个字符
if (GridView1.SelectedValue.ToString()[0] != '5' && GridView1.SelectedValue.ToString().Substring(0, 2) != "95")
如评论中所述,如果没有足够的字符,则以下两项都会抛出
GridView1.SelectedValue.ToString()[0]
GridView1.SelectedValue.ToString().Substring(0, 2)
根据DRY,两次调用也是多余的,而且也很混乱
GridView1.SelectedValue.ToString()
可以的时候
var something = GridView1.SelectedValue.ToString();
最后,通常您会出于理智的原因检查它,例如
if(!string.IsNullOrEmpty(something) && something.Length >= 2)
if (something[0] != '5' && something.Substring(0, 2) != "95")
无论如何,祝您穿线愉快