当前位置: 首页 > 图文教程 > .Net技术 > ASP.NET > ASP.NET:.Net参数基础论

ASP.NET
一些很酷的.Net技巧
Asp.Net2.0的新技术缓存通知
在ASP.NET中使用.NET组件
在ASP.NET中自动给URL地址加上超链接
.NET 窗体之间的交互
六大ASP.NET实用技巧
ASP.Net中实现RSA加密的方法
ASP.NET 2.0 AJAX中Webservice调用方法
ASP.NET中MD5和SHA1加密的几种方法
水晶报表PUSH模式多个表数据的显示
用.NET 操作Excel编程
ASP.NET 页面事件顺序和生命周期
用.Net的Web服务实现天气预报[转]
在ASP.NET下实现数字和字符相混合的验证码
在ASP.NET中调用存储过程方法新解
ASP.NET验证控件详解
ASP.NET中实现模版的动态加载
Asp.Net中带图片的重填按钮
如何在.Net 中把图片存入数据库
asp.net的MVC编程、MV编程以及URL重写

ASP.NET:.Net参数基础论


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 217 ::
收藏到网摘: n/a

由上例可以得出以下几个关于参数的基本语法:

? 形参和实参必须类型、个数与顺序对应匹配;参数可以为空;解析Main(string [] args)Main函数的参数可以为空,也可以为string数组类,其作用是接受命令行参数,例如在命令行下运行程序时,args提供了输入命令行参数的入口。

? 另外,值得一提的是,虽然CLR支持参数默认值,但是C#中却不能设置参数默认值,这一点让我很郁闷,不知为何?不过可以通过重载来变相实现,具体如下:

static void JudgeKind(string name, string kind) { Console.WriteLine("{0} is a {1}", name, kind); } static void JudgeKind(string name) { //伪代码 if(name is person) { Console.WriteLine(name, "People"); } }

这种方法可以扩展,可以实现更多个默认参数实现,不过,说实话有些多此一举,不够灵活,不爽不爽。

泛型类型参数

泛型类型参数,可以是静态的,例如MyGeneric<int>;也可以是动态的,此时它其实就是一个占位符,例如MyGeneric<T>中的T可以是任何类型的变量,在运行期动态替换为相应的类型参数。泛型类型参数一般也以T开头来命名。

引用传递之refout

 

 // FileName : Anytao.net.My_Must_net // Description : The .NET what you should know of arguments. // Release : 2007/07/03 1.0 // Copyright : (C)2007 Anytao.com http://www.anytao.com using System; namespace Anytao.net.My_Must_net._11_Args { class TestRefAndOut { static void ShowInfo(string str) { Console.WriteLine(str); } static void ShowInfo(ref string str) { Console.WriteLine(str); } } }

 

? 不管参数本身是值类型还是引用类型,按引用传递时,传递的是参数的地址,也就是实例的指针。

? 如果参数是值类型,则按引用传递时,传递的是值类型变量的引用,因此在效果上类似于引用类型参数的按值传递方式,其实质可以分析为:值类型的按引用传递方式,实现的是对值类型参数实例的直接操作,方法调用方为该实例分配内存,而被调用方法操作该内存,也就是值类型的地址;而引用类型参数的按值传递方式,实现的是对引用类型的“值”引用指针的操作