我是从传统的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