簡體   English   中英

此表達式中的括號是什么意思

[英]What does the bracket in this expression mean

我正在修改另一個開發人員的代碼,但在這種情況下,字符串后面的[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;
            }

字符串訪問單個字符

您可以將數組符號與索引值一起使用,以獲取對單個字符的只讀訪問權限

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")

不管怎樣,穿線很有趣

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM