我是從傳統的ASP來和我所做的:爲什麼ASP.net使用方括號
myVar = request.querystring("ID")
response.redirect("lol.asp");
而在.NET中,它是:
myVar = Request.Querystring["ID"];
Response.Redirect("lol.aspx");
當使用了圓形方括號那些?他們是什麼意思?我現在有點理解它來代表索引?
我是從傳統的ASP來和我所做的:爲什麼ASP.net使用方括號
myVar = request.querystring("ID")
response.redirect("lol.asp");
而在.NET中,它是:
myVar = Request.Querystring["ID"];
Response.Redirect("lol.aspx");
當使用了圓形方括號那些?他們是什麼意思?我現在有點理解它來代表索引?
由於ASP經典是Visual Basic腳本,它從Visual Basic語法派生。
如果您希望將ASP.NET與「圓括號」一起使用,只需在ASP.NET的代碼隱藏中切換到VB.NET。
「圓」或「方」括號是VB.NET和C#中的任意常規語法決定。
更新:我忘了提及ASP Classic也支持JScript,所以ASP經典與JScript將訪問數組索引和主要索引器,用「方括號」。但似乎這個問題的作者使用ASP/VBScript :)
這是C#和VB之間的區別。
方括號用於聲明和訪問具有元素數量或索引的數組。
http://msdn.microsoft.com/en-us/library/aa288453%28v=vs.71%29.aspx
這是標準C#語言語法(可以追溯到C和其他語言)的一部分。
方括號[]
用於訪問數組或集合中的元素(Request.QueryString
的情況下爲NameValueCollection
)。
在數組中,使用數字索引器訪問元素,但在集合中,通常可以使用數字索引器或字符串按名稱訪問元素。
有關C#陣列的教程檢查出http://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx
圓括號()
用於包圍傳遞給函數的參數(和調用函數時是必需的,即使該函數沒有參數)。
這是一篇老文章,但它確實提供了VB.NET和C#之間一些差異的比較。
Creating Control Arrays in Visual Basic .NET and Visual C# .NET
添加我的兩分錢到馬蒂亞斯正確的答案和理查德正確的信息,該Request.Querystring
是一個字符串的集合,無論是在傳統的ASP和ASP.NET中的那麼這一切都歸結到你如何訪問的項目採集。
在C#的()
被保留以調用在C#,以便具有一個Request.Querystring("ID")
方法將嘗試調用Querystring
爲Request
方法傳遞"ID"
作爲參數。要訪問收集項目,需要使用[]
,而C#像往常一樣嚴格。
的VBScript更「靈活」,並會自行檢查 - 如果QueryString
是一家集則()
手段對其進行訪問,並根據給定的索引,否則嘗試調用它作爲一種方法獲得的項目。
我覺得你仍然可以在ASP.NET中使用'()'。 – BoltClock 2011-03-16 11:03:09
@Bolt不起作用.net – 2011-03-16 11:03:57
你仍然可以使用'Request.QueryString.Get(「ID」)' – Alex 2011-03-16 11:06:03