CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

c#的函数支持默认参数值吗?

楼主countryroad(宁静致远)2002-05-12 14:09:03 在 .NET技术 / C# 提问

如题 问题点数:10、回复次数:14Top

1 楼earthharp(我老子是土匪)回复于 2002-05-12 16:12:01 得分 0

不支持Top

2 楼countryroad(宁静致远)回复于 2002-05-12 16:16:34 得分 0

如果我要这样使用的话,那该怎么做呢?Top

3 楼wl_95421(王磊)回复于 2002-05-12 16:46:42 得分 5

int   myint=0;不就可以了吗Top

4 楼countryroad(宁静致远)回复于 2002-05-12 17:00:38 得分 0

你的意思是在参数列表中这样写吗?  
  譬如public   void   myfunc(int   para,int   myint=0);  
  这样不行的。  
  Top

5 楼wl_95421(王磊)回复于 2002-05-12 17:03:30 得分 0

你这是传参  
  当然不行  
  真的不明白你的意思  
  说清楚一点吧Top

6 楼countryroad(宁静致远)回复于 2002-05-12 17:15:22 得分 0

现有函数如下  
  public   void   myfunc(int   para,int   myint);  
  我希望调用的时候可以这样调用myfunc(para);  
  也就是myint可以是默认值,不用传参数。  
  当然传参数也是可以的,这时候函数内部就用传入的参数值。  
  这个在c++中很常用的。不知道c#中怎么用?  
  Top

7 楼Lostinet(Hello)回复于 2002-05-12 19:01:10 得分 0

重载和默认值冲突了。  
  所以C#选择重载。而不支持默认值。Top

8 楼countryroad(宁静致远)回复于 2002-05-12 19:31:20 得分 0

功能是冲突了,但是默认值使用起来方便啊。  
  真的不支持吗?  
  请高手分析一下两者的效率如何。  
  大家都弄个明白。Top

9 楼huolx(飞云)回复于 2002-05-12 20:39:00 得分 0

你可以这样写  
  public   void   myfunc(int   para,int   myint)  
  {  
  }  
   
  public   void   myfunc(int   para)  
  {  
  myfunc(int   para,0)  
  }  
   
  Top

10 楼huolx(飞云)回复于 2002-05-12 20:40:17 得分 0

上面错了一个地方  
  你可以这样写  
  public   void   myfunc(int   para,int   myint)  
  {  
  }  
   
  public   void   myfunc(int   para)  
  {  
  myfunc(para,0)  
  }  
  Top

11 楼countryroad(宁静致远)回复于 2002-05-12 20:59:14 得分 0

我也是这样实现的,但这是重载阿。  
  功能虽然一样,但还是本质不同的。  
  不知道两者效率怎么样。Top

12 楼qqchen79(知秋一叶)回复于 2002-05-12 23:14:20 得分 5

.NET支持Default   Parameter   Value的,叫做optional   parameter。  
  是C#的语法不支持这种特性。在VB.NET里可以实现。  
   
  效率方面,两者的运行性能几乎没有分别,只是overload需要多定义一个函数罢了。Top

13 楼countryroad(宁静致远)回复于 2002-05-13 10:39:34 得分 0

这样的话,只能用函数重载了?真的没有其他办法吗?Top

14 楼qqchen79(知秋一叶)回复于 2002-05-13 11:21:50 得分 0

在C#的确没有办法,但是可以用VB.NET/msil编写相应的module,然后再与C#的部分协同工作。  
  是不是太麻烦了?;)Top

相关问题

  • 请教:关键字(C++,构造函数,默认参数):)
  • 关于C++函数使用默认参数的超简单问题
  • 请教 我的函数为何不能和C++一样用默认参数
  • C++函数调用是不是默认有一个this指针的参数?
  • 这是默认参数的函数?
  • 函数的默认参数 问题
  • C++ 函数参数问题!
  • c#中的函数参数默认值应该怎么写?为何我编译会报:“不允许有默认参数说明符 ”错?
  • CAsyncSocket类的AsyncSelect()函数,采用默认参数,先触发那个函数?
  • 关于函数默认参数顺序的一个问题

关键词

  • c#
  • vb.net
  • 函数
  • 参数
  • para
  • 默认值
  • myint
  • 重载
  • myfunc
  • 效率

得分解答快速导航

  • 帖主:countryroad
  • wl_95421
  • qqchen79

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo